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 |