# 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', }], ], }, }