• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3# found in the LICENSE file.
4
5{
6  'variables': {
7    'bindings_scripts_dir': '.',
8    'bindings_scripts_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings/scripts',
9    'jinja_module_files': [
10      # jinja2/__init__.py contains version string, so sufficient for package
11      '<(DEPTH)/third_party/jinja2/__init__.py',
12      '<(DEPTH)/third_party/markupsafe/__init__.py',  # jinja2 dep
13    ],
14    'idl_lexer_parser_files': [
15      # PLY (Python Lex-Yacc)
16      '<(DEPTH)/third_party/ply/lex.py',
17      '<(DEPTH)/third_party/ply/yacc.py',
18      # Web IDL lexer/parser (base parser)
19      '<(DEPTH)/tools/idl_parser/idl_lexer.py',
20      '<(DEPTH)/tools/idl_parser/idl_node.py',
21      '<(DEPTH)/tools/idl_parser/idl_parser.py',
22      # Blink IDL lexer/parser/constructor
23      'blink_idl_lexer.py',
24      'blink_idl_parser.py',
25    ],
26    'idl_compiler_files': [
27      'idl_compiler.py',
28      # Blink IDL front end (ex-lexer/parser)
29      'idl_definitions.py',
30      'idl_reader.py',
31      'idl_types.py',
32      'idl_validator.py',
33      'interface_dependency_resolver.py',
34      # V8 code generator
35      'code_generator_v8.py',
36      'v8_attributes.py',
37      'v8_callback_interface.py',
38      'v8_dictionary.py',
39      'v8_globals.py',
40      'v8_interface.py',
41      'v8_methods.py',
42      'v8_types.py',
43      'v8_utilities.py',
44    ],
45    'idl_cache_files': [
46      '<(bindings_scripts_output_dir)/lextab.py',
47      '<(bindings_scripts_output_dir)/parsetab.pickle',
48      '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp',
49    ],
50
51    'conditions': [
52        # These scripts can skip writing generated files if they are identical
53        # to the already existing files, which avoids further build steps, like
54        # recompilation. However, a dependency (earlier build step) having a
55        # newer timestamp than an output (later build step) confuses some build
56        # systems, so only use this on ninja, which explicitly supports this use
57        # case (gyp turns all actions into ninja restat rules).
58        ['"<(GENERATOR)"=="ninja"', {
59          'write_file_only_if_changed': '1',
60        }, {
61          'write_file_only_if_changed': '0',
62        }],
63    ],
64  },
65}
66