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 import("//third_party/WebKit/Source/bindings/bindings.gni") | 5 import("//third_party/WebKit/Source/bindings/bindings.gni") |
6 import("//third_party/WebKit/Source/bindings/scripts/scripts.gni") | 6 import("//third_party/WebKit/Source/bindings/scripts/scripts.gni") |
7 import("//third_party/WebKit/Source/bindings/templates/templates.gni") | 7 import("//third_party/WebKit/Source/bindings/templates/templates.gni") |
8 | 8 |
9 visibility = "//third_party/WebKit/*" | 9 visibility = "//third_party/WebKit/*" |
10 | 10 |
11 # A separate pre-caching step is *not required* to use lex/parse table | 11 # This separate pre-caching step is required to use lex/parse table |
12 # caching in PLY, as the caches are concurrency-safe. | 12 # caching in PLY, since PLY itself does not check if the cache is |
13 # However, pre-caching ensures that all compiler processes use the cached | 13 # valid, and thus may end up using a stale cache if this step hasn't |
14 # files (hence maximizing speed), instead of early processes building the | 14 # been run to update it. |
15 # tables themselves (as they've not yet been written when they start). | 15 # |
| 16 # This action's dependencies *is* the cache validation. |
16 # | 17 # |
17 # GYP version: scripts.gyp:cached_lex_yacc_tables | 18 # GYP version: scripts.gyp:cached_lex_yacc_tables |
18 action("cached_lex_yacc_tables") { | 19 action("cached_lex_yacc_tables") { |
19 script = "blink_idl_parser.py" | 20 script = "blink_idl_parser.py" |
20 | 21 |
21 source_prereqs = idl_lexer_parser_files | 22 source_prereqs = idl_lexer_parser_files |
22 outputs = [ | 23 outputs = [ |
23 "$bindings_scripts_output_dir/lextab.py", | 24 "$bindings_scripts_output_dir/lextab.py", |
24 "$bindings_scripts_output_dir/parsetab.pickle", | 25 "$bindings_scripts_output_dir/parsetab.pickle", |
25 ] | 26 ] |
(...skipping 13 matching lines...) Expand all Loading... |
39 code_generator_template_files | 40 code_generator_template_files |
40 # Dummy file to track dependency. | 41 # Dummy file to track dependency. |
41 stamp_file = "$bindings_scripts_output_dir/cached_jinja_templates.stamp" | 42 stamp_file = "$bindings_scripts_output_dir/cached_jinja_templates.stamp" |
42 outputs = [ stamp_file ] | 43 outputs = [ stamp_file ] |
43 | 44 |
44 args = [ | 45 args = [ |
45 rebase_path(bindings_scripts_output_dir, root_build_dir), | 46 rebase_path(bindings_scripts_output_dir, root_build_dir), |
46 rebase_path(stamp_file, root_build_dir), | 47 rebase_path(stamp_file, root_build_dir), |
47 ] | 48 ] |
48 } | 49 } |
OLD | NEW |