1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 # Generate IDL interfaces info for modules, used to generate bindings
7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build
12 '../../bindings/core/core.gypi',
13 '../../bindings/scripts/scripts.gypi',
14 '../../build/scripts/scripts.gypi', # FIXME: Needed for event files, should be in modules, not bindings_modules http://crbug.com/358074
15 '../../modules/modules.gypi',
22 ################################################################################
24 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated
25 # FIXME: Should be in modules, not bindings_modules http://crbug.com/358074
26 'target_name': 'modules_event_generated',
30 # GN version: //third_party/WebKit/Source/bindings/modules:modules_bindings_generated_event_interfaces
31 'action_name': 'event_interfaces',
34 '<@(modules_event_idl_files)',
36 'event_idl_files_list':
37 '<|(event_idl_files_list.tmp <@(event_idl_files))',
40 '<(bindings_scripts_dir)/generate_event_interfaces.py',
41 '<(bindings_scripts_dir)/utilities.py',
42 '<(event_idl_files_list)',
43 '<@(event_idl_files)',
46 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
50 '<(bindings_scripts_dir)/generate_event_interfaces.py',
51 '--event-idl-files-list',
52 '<(event_idl_files_list)',
53 '--event-interfaces-file',
54 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
55 '--write-file-only-if-changed',
56 '<(write_file_only_if_changed)',
62 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_factory
63 'action_name': 'EventModulesFactory',
65 '<@(make_event_factory_files)',
66 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
69 '<(blink_modules_output_dir)/EventModules.cpp',
70 '<(blink_modules_output_dir)/EventModulesHeaders.h',
71 '<(blink_modules_output_dir)/EventModulesInterfaces.h',
75 '../../build/scripts/make_event_factory.py',
76 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
78 '<(blink_modules_output_dir)',
82 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_names
83 'action_name': 'EventModulesNames',
85 '<@(make_names_files)',
86 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
89 '<(blink_modules_output_dir)/EventModulesNames.cpp',
90 '<(blink_modules_output_dir)/EventModulesNames.h',
94 '../../build/scripts/make_names.py',
95 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
97 '<(blink_modules_output_dir)',
101 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_factory
102 'action_name': 'EventTargetModulesFactory',
104 '<@(make_event_factory_files)',
105 '../../modules/EventTargetModulesFactory.in',
108 '<(blink_modules_output_dir)/EventTargetModulesHeaders.h',
109 '<(blink_modules_output_dir)/EventTargetModulesInterfaces.h',
113 '../../build/scripts/make_event_factory.py',
114 '../../modules/EventTargetModulesFactory.in',
116 '<(blink_modules_output_dir)',
120 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_names
121 'action_name': 'EventTargetModulesNames',
123 '<@(make_names_files)',
124 '../../modules/EventTargetModulesFactory.in',
127 '<(blink_modules_output_dir)/EventTargetModulesNames.cpp',
128 '<(blink_modules_output_dir)/EventTargetModulesNames.h',
132 '../../build/scripts/make_names.py',
133 '../../modules/EventTargetModulesFactory.in',
135 '<(blink_modules_output_dir)',
140 ################################################################################
142 'target_name': 'modules_global_objects',
144 '../core/generated.gyp:core_global_objects',
147 'idl_files': '<(modules_idl_files)',
149 '<(bindings_core_output_dir)/GlobalObjectsCore.pickle',
152 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
154 'includes': ['../../bindings/scripts/global_objects.gypi'],
156 ################################################################################
158 # Global constructors for global objects in modules (ServiceWorker)
159 # but interfaces in core.
160 'target_name': 'modules_core_global_constructors_idls',
162 'modules_global_objects',
165 'idl_files': '<(core_idl_files)',
166 'global_objects_file':
167 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
168 'global_names_idl_files': [
169 'ServiceWorkerGlobalScope',
170 '<(blink_modules_output_dir)/ServiceWorkerGlobalScopeCoreConstructors.idl',
173 '<@(modules_core_global_constructors_generated_idl_files)',
174 '<@(modules_core_global_constructors_generated_header_files)',
177 'includes': ['../../bindings/scripts/global_constructors.gypi'],
179 ################################################################################
181 'target_name': 'modules_global_constructors_idls',
183 'modules_global_objects',
186 'idl_files': '<(modules_idl_files)',
187 'global_objects_file':
188 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
189 'global_names_idl_files': [
191 '<(blink_modules_output_dir)/WindowModulesConstructors.idl',
192 'SharedWorkerGlobalScope',
193 '<(blink_modules_output_dir)/SharedWorkerGlobalScopeModulesConstructors.idl',
194 'DedicatedWorkerGlobalScope',
195 '<(blink_modules_output_dir)/DedicatedWorkerGlobalScopeModulesConstructors.idl',
196 'ServiceWorkerGlobalScope',
197 '<(blink_modules_output_dir)/ServiceWorkerGlobalScopeModulesConstructors.idl',
200 '<@(modules_global_constructors_generated_idl_files)',
201 '<@(modules_global_constructors_generated_header_files)',
204 'includes': ['../../bindings/scripts/global_constructors.gypi'],
206 ################################################################################
208 'target_name': 'interfaces_info_individual_modules',
210 'modules_core_global_constructors_idls',
211 'modules_global_constructors_idls',
214 'static_idl_files': '<(modules_static_idl_files)',
215 'generated_idl_files': '<(modules_generated_idl_files)',
216 'component_dir': 'modules',
218 '<(bindings_modules_output_dir)/InterfacesInfoModulesIndividual.pickle',
220 'includes': ['../../bindings/scripts/interfaces_info_individual.gypi'],
222 ################################################################################
224 # GN version: //third_party/WebKit/Source/bindings/modules:interfaces_info
225 'target_name': 'interfaces_info',
227 '../core/generated.gyp:interfaces_info_individual_core',
228 'interfaces_info_individual_modules',
232 '<(bindings_core_output_dir)/InterfacesInfoCoreIndividual.pickle',
233 '<(bindings_modules_output_dir)/InterfacesInfoModulesIndividual.pickle',
236 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
238 'includes': ['../../bindings/scripts/interfaces_info_overall.gypi'],
240 ################################################################################