| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # Pre-caching steps used internally by the IDL compiler | 5 # Pre-caching steps used internally by the IDL compiler |
| 6 # | 6 # |
| 7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build | 7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build |
| 8 | 8 |
| 9 { | 9 { |
| 10 'includes': [ | 10 'includes': [ |
| 11 'scripts.gypi', | 11 'scripts.gypi', |
| 12 '../bindings.gypi', | 12 '../bindings.gypi', |
| 13 '../templates/templates.gypi', | 13 '../templates/templates.gypi', |
| 14 ], | 14 ], |
| 15 | 15 |
| 16 'targets': [ | 16 'targets': [ |
| 17 ################################################################################ | 17 ################################################################################ |
| 18 { | 18 { |
| 19 # A separate pre-caching step is *not required* to use lex/parse table | 19 # This separate pre-caching step is required to use lex/parse table caching |
| 20 # caching in PLY, as the caches are concurrency-safe. | 20 # in PLY, since PLY itself does not check if the cache is valid, and may end |
| 21 # However, pre-caching ensures that all compiler processes use the cached | 21 # up using a stale cache if this step hasn't been run to update it. |
| 22 # files (hence maximizing speed), instead of early processes building the | 22 # |
| 23 # tables themselves (as they've not yet been written when they start). | 23 # This action's dependencies *is* the cache validation. |
| 24 # | 24 # |
| 25 # GN version: //third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_t
ables | 25 # GN version: //third_party/WebKit/Source/bindings/scripts:cached_lex_yacc_t
ables |
| 26 'target_name': 'cached_lex_yacc_tables', | 26 'target_name': 'cached_lex_yacc_tables', |
| 27 'type': 'none', | 27 'type': 'none', |
| 28 'actions': [{ | 28 'actions': [{ |
| 29 'action_name': 'cache_lex_yacc_tables', | 29 'action_name': 'cache_lex_yacc_tables', |
| 30 'inputs': [ | 30 'inputs': [ |
| 31 '<@(idl_lexer_parser_files)', | 31 '<@(idl_lexer_parser_files)', |
| 32 ], | 32 ], |
| 33 'outputs': [ | 33 'outputs': [ |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 'code_generator_v8.py', | 66 'code_generator_v8.py', |
| 67 '<(bindings_scripts_output_dir)', | 67 '<(bindings_scripts_output_dir)', |
| 68 '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp', | 68 '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp', |
| 69 ], | 69 ], |
| 70 'message': 'Caching bytecode of Jinja templates', | 70 'message': 'Caching bytecode of Jinja templates', |
| 71 }], | 71 }], |
| 72 }, | 72 }, |
| 73 ################################################################################ | 73 ################################################################################ |
| 74 ], # targets | 74 ], # targets |
| 75 } | 75 } |
| OLD | NEW |