Index: Source/bindings/scripts/global_constructors.gypi |
diff --git a/Source/bindings/scripts/global_constructors.gypi b/Source/bindings/scripts/global_constructors.gypi |
new file mode 100644 |
index 0000000000000000000000000000000000000000..58073e70923491dc3f56af9fbd58a28cf7102e82 |
--- /dev/null |
+++ b/Source/bindings/scripts/global_constructors.gypi |
@@ -0,0 +1,73 @@ |
+# 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. |
+# |
+# This file is meant to be included into a target to provide an action |
+# to compute global objects in a component. |
+# |
+# To use this, create a gyp target with the following form: |
+# { |
+# 'target_name': 'core_global_constructors_idls', |
+# 'dependencies': [ |
+# 'component_global_objects', |
+# ], |
+# 'variables': { |
+# 'idl_files': '<(list_of_idl_files)', |
+# 'global_objects_file': '<(some_dir)/GlobalObjectsComponent.pickle', |
+# 'global_names_idl_files': [ |
+# 'GlobalName', |
+# '<(blink_core_output_dir)/GlobalScopeComponentConstructors.idl', |
+# # ... |
+# ], |
+# 'outputs': [ |
+# '<@(component_global_constructors_generated_idl_files)', |
+# '<@(component_global_constructors_generated_header_files)', |
+# ], |
+# }, |
+# 'includes': ['path/to/this/gypi/file'], |
+# }, |
+# |
+# Required variables: |
+# idl_files - List of .idl files that will be searched in. |
+# This should *only* contain main IDL files, excluding dependencies and |
+# testing, which should not appear on global objects. |
+# global_objects - Pickle file of global objects. |
+# global_names_idl_files - pairs (GlobalName, Constructors.idl) |
+# outputs - List of output files. |
+# Passed as a variable here, included by the template in the action. |
+# |
+# Spec: http://heycam.github.io/webidl/#Global |
+# http://heycam.github.io/webidl/#Exposed |
+# Design document: http://www.chromium.org/developers/design-documents/idl-build |
+ |
+{ |
+ 'type': 'none', |
+ 'actions': [{ |
+ 'action_name': 'generate_<(_target_name)', |
+ 'message': 'Generating IDL files for constructors on global objects for <(_target_name)', |
+ 'variables': { |
+ 'idl_files_list': '<|(<(_target_name)_idl_files_list.tmp <@(idl_files))', |
+ }, |
+ 'includes': ['scripts.gypi'], |
+ 'inputs': [ |
+ '<(bindings_scripts_dir)/generate_global_constructors.py', |
+ '<(bindings_scripts_dir)/utilities.py', |
+ '<(idl_files_list)', |
+ '<@(idl_files)', |
+ '<(global_objects_file)', |
+ ], |
+ 'outputs': ['<@(outputs)'], |
+ 'action': [ |
+ 'python', |
+ '<(bindings_scripts_dir)/generate_global_constructors.py', |
+ '--idl-files-list', |
+ '<(idl_files_list)', |
+ '--global-objects-file', |
+ '<(global_objects_file)', |
+ '--write-file-only-if-changed', |
+ '<(write_file_only_if_changed)', |
+ '--', |
+ '<@(global_names_idl_files)', |
+ ], |
+ }], |
+} |