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',
74 '../../build/scripts/make_event_factory.py',
75 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
77 '<(blink_modules_output_dir)',
81 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_names
82 'action_name': 'EventModulesNames',
84 '<@(make_names_files)',
85 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
88 '<(blink_modules_output_dir)/EventModulesNames.cpp',
89 '<(blink_modules_output_dir)/EventModulesNames.h',
93 '../../build/scripts/make_names.py',
94 '<(blink_modules_output_dir)/EventModulesInterfaces.in',
96 '<(blink_modules_output_dir)',
100 # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_names
101 'action_name': 'EventTargetModulesNames',
103 '<@(make_names_files)',
104 '../../modules/EventTargetModulesFactory.in',
107 '<(blink_modules_output_dir)/EventTargetModulesNames.cpp',
108 '<(blink_modules_output_dir)/EventTargetModulesNames.h',
112 '../../build/scripts/make_names.py',
113 '../../modules/EventTargetModulesFactory.in',
115 '<(blink_modules_output_dir)',
120 ################################################################################
122 'target_name': 'modules_global_objects',
124 '../core/generated.gyp:core_global_objects',
127 'idl_files': '<(modules_idl_files)',
129 '<(bindings_core_output_dir)/GlobalObjectsCore.pickle',
132 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
134 'includes': ['../../bindings/scripts/global_objects.gypi'],
136 ################################################################################
138 # Global constructors for global objects in modules (ServiceWorker)
139 # but interfaces in core.
140 'target_name': 'modules_core_global_constructors_idls',
142 'modules_global_objects',
146 '<@(core_idl_files)',
147 '<@(core_idl_with_modules_dependency_files)',
149 'global_objects_file':
150 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
151 'global_names_idl_files': [
152 'ServiceWorkerGlobalScope',
153 '<(blink_modules_output_dir)/ServiceWorkerGlobalScopeCoreConstructors.idl',
156 '<@(modules_core_global_constructors_generated_idl_files)',
157 '<@(modules_core_global_constructors_generated_header_files)',
160 'includes': ['../../bindings/scripts/global_constructors.gypi'],
162 ################################################################################
164 'target_name': 'modules_global_constructors_idls',
166 'modules_global_objects',
169 'idl_files': '<(modules_idl_files)',
170 'global_objects_file':
171 '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
172 'global_names_idl_files': [
174 '<(blink_modules_output_dir)/WindowModulesConstructors.idl',
175 'SharedWorkerGlobalScope',
176 '<(blink_modules_output_dir)/SharedWorkerGlobalScopeModulesConstructors.idl',
177 'DedicatedWorkerGlobalScope',
178 '<(blink_modules_output_dir)/DedicatedWorkerGlobalScopeModulesConstructors.idl',
179 'ServiceWorkerGlobalScope',
180 '<(blink_modules_output_dir)/ServiceWorkerGlobalScopeModulesConstructors.idl',
183 '<@(modules_global_constructors_generated_idl_files)',
184 '<@(modules_global_constructors_generated_header_files)',
187 'includes': ['../../bindings/scripts/global_constructors.gypi'],
189 ################################################################################
191 'target_name': 'interfaces_info_individual_modules',
193 '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables',
194 'modules_core_global_constructors_idls',
195 'modules_global_constructors_idls',
198 'cache_directory': '<(bindings_modules_output_dir)/../scripts',
199 'static_idl_files': '<(modules_static_idl_files)',
200 'generated_idl_files': '<(modules_generated_idl_files)',
201 'interfaces_info_file':
202 '<(bindings_modules_output_dir)/InterfacesInfoOverallIndividual.pickle',
203 'component_info_file':
204 '<(bindings_modules_output_dir)/ComponentInfoModules.pickle',
206 'includes': ['../../bindings/scripts/interfaces_info_individual.gypi'],
208 ################################################################################
210 # GN version: //third_party/WebKit/Source/bindings/modules:interfaces_info
211 'target_name': 'interfaces_info',
213 '../core/generated.gyp:interfaces_info_individual_core',
214 'interfaces_info_individual_modules',
218 '<(bindings_core_output_dir)/InterfacesInfoCoreIndividual.pickle',
219 '<(bindings_modules_output_dir)/InterfacesInfoOverallIndividual.pickle',
222 '<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
224 'includes': ['../../bindings/scripts/interfaces_info_overall.gypi'],
226 ################################################################################