Index: Source/bindings/core/dart/generated.gyp |
diff --git a/Source/bindings/core/dart/generated.gyp b/Source/bindings/core/dart/generated.gyp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bc64b8310493270c38c3c9b18cdba68c3c1658e9 |
--- /dev/null |
+++ b/Source/bindings/core/dart/generated.gyp |
@@ -0,0 +1,129 @@ |
+# 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. |
+ |
+# Generate IDL bindings for core, plus aggregate bindings files. |
+# |
+# Design doc: http://www.chromium.org/developers/design-documents/idl-build |
+ |
+{ |
+ 'includes': [ |
+ # ../../.. == Source |
+ '../../../bindings/bindings.gypi', |
+ '../../../bindings/core/generated.gypi', |
+ '../../../bindings/core/idl.gypi', |
+ # FIXME: need info about modules IDL files because some core IDL files |
+ # depend on modules IDL files http://crbug.com/358074 |
+ '../../../bindings/modules/idl.gypi', |
+ '../../../bindings/modules/modules.gypi', |
+ '../../../bindings/scripts/scripts.gypi', |
+ '../../../bindings/dart/scripts/scripts.gypi', |
+ '../../../bindings/dart/scripts/templates/templates.gypi', |
+ '../../../core/core.gypi', |
+ 'generated.gypi', |
+ 'dart-extras.gypi', |
+ ], |
+ |
+ 'targets': [ |
+################################################################################ |
+ { |
+ # GN version: //third_party/WebKit/Source/bindings/core/dart:bindings_core_dart_generated_individual |
+ 'target_name': 'bindings_core_dart_generated_individual', |
+ 'type': 'none', |
+ # The 'binding' rule generates .h files, so mark as hard_dependency, per: |
+ # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependencies |
+ 'hard_dependency': 1, |
+ 'dependencies': [ |
+ '../../../core/core_generated.gyp:generated_testing_idls', |
+ '../generated.gyp:core_global_constructors_idls', |
+ # FIXME: should not depend on modules, but partial interface definitions |
+ # in modules change bindings for core http://crbug.com/358074 |
+ '../../modules/generated.gyp:modules_global_constructors_idls', |
+ '<(bindings_scripts_dir)/scripts.gyp:dart_cached_jinja_templates', |
+ '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables', |
+ # FIXME: should be interfaces_info_core (w/o modules) |
+ # http://crbug.com/358074 |
+ '../../modules/generated.gyp:interfaces_info', |
+ ], |
+ 'sources': [ |
+ '<@(core_interface_idl_files)', |
+ ], |
+ 'rules': [{ |
+ 'rule_name': 'binding', |
+ 'extension': 'idl', |
+ 'msvs_external_rule': 1, |
+ 'inputs': [ |
+ '<@(idl_lexer_parser_files)', # to be explicit (covered by parsetab) |
+ '<@(idl_compiler_files)', |
+ '<@(dart_idl_compiler_files)', |
+ '<@(dart_code_generator_template_files)', |
+ '<(bindings_scripts_output_dir)/lextab.py', |
+ '<(bindings_scripts_output_dir)/parsetab.pickle', |
+ '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp', |
+ '<(bindings_dir)/IDLExtendedAttributes.txt', |
+ # If the dependency structure or public interface info (e.g., |
+ # [ImplementedAs]) changes, we rebuild all files, since we're not |
+ # computing dependencies file-by-file in the build. |
+ # This data is generally stable. |
+ '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
+ # Further, if any dependency (partial interface or implemented |
+ # interface) changes, rebuild everything, since every IDL potentially |
+ # depends on them, because we're not computing dependencies |
+ # file-by-file. |
+ # FIXME: This is too conservative, and causes excess rebuilds: |
+ # compute this file-by-file. http://crbug.com/341748 |
+ # FIXME: should be core_all_dependency_idl_files only, but some core IDL |
+ # files depend on modules IDL files http://crbug.com/358074 |
+ '<@(all_dependency_idl_files)', |
+ ], |
+ 'outputs': [ |
+ '<(bindings_core_dart_output_dir)/<(RULE_INPUT_ROOT)_globals.pickle', |
+ ], |
+ # sanitize-win-build-log.sed uses a regex which matches this command |
+ # line (Python script + .idl file being processed). |
+ # Update that regex if command line changes (other than changing flags) |
+ 'action': [ |
+ 'python', |
+ '-S', # skip 'import site' to speed up startup |
+ '<(bindings_dart_scripts_dir)/compiler.py', |
+ # FIXMEDART: Enable caching? |
+ # '--cache-dir', |
+ # '<(bindings_scripts_output_dir)', |
+ '--output-dir', |
+ '<(bindings_core_dart_output_dir)', |
+ '--interfaces-info', |
+ '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
+ '--write-file-only-if-changed', |
+ '<(write_file_only_if_changed)', |
+ '<(RULE_INPUT_PATH)', |
+ ], |
+ 'message': 'Generating Dart binding from <(RULE_INPUT_PATH)', |
+ }], |
+ }, |
+################################################################################ |
+ { |
+ # GN version: //third_party/WebKit/Source/bindings/core/dart:bindings_core_dart_generated |
+ 'target_name': 'bindings_core_dart_generated', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'bindings_core_dart_generated_individual', |
+ ], |
+ 'actions': [{ |
+ 'action_name': 'generate_core_dart_stamp_file', |
+ 'inputs': [ |
+ '<(dart_dir)/tools/create_timestamp_file.py', |
+ ], |
+ 'outputs': [ |
+ '<(bindings_core_dart_stamp_file)', |
+ ], |
+ 'action': [ |
+ 'python', |
+ '<(dart_dir)/tools/create_timestamp_file.py', |
+ '<(bindings_core_dart_stamp_file)', |
+ ], |
+ 'message': 'Finished generating core Dart bindings files', |
+ }], |
+ }, |
+################################################################################ |
+ ], # targets |
+} |