Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: Source/bindings/scripts/global_constructors.gypi

Issue 319933002: IDL build: factor out global constructors action into a GYP template (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix name collision Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/modules/generated.gyp ('k') | Source/bindings/scripts/global_objects.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)',
+ ],
+ }],
+}
« no previous file with comments | « Source/bindings/modules/generated.gyp ('k') | Source/bindings/scripts/global_objects.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698