blob: ff68fa2dd7bb3482dcc5c671f8378cfd8e403efc [file] [log] [blame]
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'variables': {
'bindings_scripts_dir': '.',
'bindings_scripts_output_dir%': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings/scripts',
'jinja_module_files': [
# jinja2/__init__.py contains version string, so sufficient for package
'<(DEPTH)/third_party/jinja2/__init__.py',
'<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
],
'idl_lexer_parser_files': [
# PLY (Python Lex-Yacc)
'<(DEPTH)/third_party/ply/lex.py',
'<(DEPTH)/third_party/ply/yacc.py',
# Web IDL lexer/parser (base parser)
'<(DEPTH)/tools/idl_parser/idl_lexer.py',
'<(DEPTH)/tools/idl_parser/idl_node.py',
'<(DEPTH)/tools/idl_parser/idl_parser.py',
# Blink IDL lexer/parser/constructor
'blink_idl_lexer.py',
'blink_idl_parser.py',
],
'idl_compiler_files': [
'idl_compiler.py',
# Blink IDL front end (ex-lexer/parser)
'idl_definitions.py',
'idl_reader.py',
'idl_types.py',
'idl_validator.py',
'interface_dependency_resolver.py',
# V8 code generator
'code_generator_v8.py',
'v8_attributes.py',
'v8_callback_interface.py',
'v8_dictionary.py',
'v8_globals.py',
'v8_interface.py',
'v8_methods.py',
'v8_types.py',
'v8_union.py',
'v8_utilities.py',
],
'idl_cache_files': [
'<(bindings_scripts_output_dir)/lextab.py',
'<(bindings_scripts_output_dir)/parsetab.pickle',
'<(bindings_scripts_output_dir)/cached_jinja_templates.stamp',
],
'conditions': [
# These scripts can skip writing generated files if they are identical
# to the already existing files, which avoids further build steps, like
# recompilation. However, a dependency (earlier build step) having a
# newer timestamp than an output (later build step) confuses some build
# systems, so only use this on ninja, which explicitly supports this use
# case (gyp turns all actions into ninja restat rules).
['"<(GENERATOR)"=="ninja"', {
'write_file_only_if_changed': '1',
}, {
'write_file_only_if_changed': '0',
}],
],
},
}