9b697541a52198d6123e35743a8e66893a0a5191
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / modules / generated.gyp
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.
4
5 # Generate IDL interfaces info for modules, used to generate bindings
6 #
7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build
8
9 {
10   'includes': [
11     # ../.. == Source
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',
16     'generated.gypi',
17     'idl.gypi',
18     'modules.gypi',
19   ],
20
21   'targets': [
22 ################################################################################
23   {
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',
27     'type': 'none',
28     'actions': [
29       {
30         # GN version: //third_party/WebKit/Source/bindings/modules:modules_bindings_generated_event_interfaces
31         'action_name': 'event_interfaces',
32         'variables': {
33           'event_idl_files': [
34             '<@(modules_event_idl_files)',
35           ],
36           'event_idl_files_list':
37               '<|(event_idl_files_list.tmp <@(event_idl_files))',
38         },
39         'inputs': [
40           '<(bindings_scripts_dir)/generate_event_interfaces.py',
41           '<(bindings_scripts_dir)/utilities.py',
42           '<(event_idl_files_list)',
43           '<@(event_idl_files)',
44         ],
45         'outputs': [
46           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
47         ],
48         'action': [
49           'python',
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)',
57           '--suffix',
58           'Modules',
59         ],
60       },
61       {
62         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_factory
63         'action_name': 'EventModulesFactory',
64         'inputs': [
65           '<@(make_event_factory_files)',
66           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
67         ],
68         'outputs': [
69           '<(blink_modules_output_dir)/EventModules.cpp',
70           '<(blink_modules_output_dir)/EventModulesHeaders.h',
71           '<(blink_modules_output_dir)/EventModulesInterfaces.h',
72         ],
73         'action': [
74           'python',
75           '../../build/scripts/make_event_factory.py',
76           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
77           '--output_dir',
78           '<(blink_modules_output_dir)',
79         ],
80       },
81       {
82         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_names
83         'action_name': 'EventModulesNames',
84         'inputs': [
85           '<@(make_names_files)',
86           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
87         ],
88         'outputs': [
89           '<(blink_modules_output_dir)/EventModulesNames.cpp',
90           '<(blink_modules_output_dir)/EventModulesNames.h',
91         ],
92         'action': [
93           'python',
94           '../../build/scripts/make_names.py',
95           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
96           '--output_dir',
97           '<(blink_modules_output_dir)',
98         ],
99       },
100       {
101         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_factory
102         'action_name': 'EventTargetModulesFactory',
103         'inputs': [
104           '<@(make_event_factory_files)',
105           '../../modules/EventTargetModulesFactory.in',
106         ],
107         'outputs': [
108           '<(blink_modules_output_dir)/EventTargetModulesHeaders.h',
109           '<(blink_modules_output_dir)/EventTargetModulesInterfaces.h',
110         ],
111         'action': [
112           'python',
113           '../../build/scripts/make_event_factory.py',
114           '../../modules/EventTargetModulesFactory.in',
115           '--output_dir',
116           '<(blink_modules_output_dir)',
117         ],
118       },
119       {
120         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_names
121         'action_name': 'EventTargetModulesNames',
122         'inputs': [
123           '<@(make_names_files)',
124           '../../modules/EventTargetModulesFactory.in',
125         ],
126         'outputs': [
127           '<(blink_modules_output_dir)/EventTargetModulesNames.cpp',
128           '<(blink_modules_output_dir)/EventTargetModulesNames.h',
129         ],
130         'action': [
131           'python',
132           '../../build/scripts/make_names.py',
133           '../../modules/EventTargetModulesFactory.in',
134           '--output_dir',
135           '<(blink_modules_output_dir)',
136         ],
137       },
138     ],
139   },
140 ################################################################################
141   {
142     'target_name': 'modules_global_objects',
143     'dependencies': [
144       '../core/generated.gyp:core_global_objects',
145     ],
146     'variables': {
147       'idl_files': '<(modules_idl_files)',
148       'input_files': [
149         '<(bindings_core_output_dir)/GlobalObjectsCore.pickle',
150       ],
151       'output_file':
152         '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
153     },
154     'includes': ['../../bindings/scripts/global_objects.gypi'],
155   },
156 ################################################################################
157   {
158     # Global constructors for global objects in modules (ServiceWorker)
159     # but interfaces in core.
160     'target_name': 'modules_core_global_constructors_idls',
161     'dependencies': [
162       'modules_global_objects',
163     ],
164     'variables': {
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',
171       ],
172       'outputs': [
173         '<@(modules_core_global_constructors_generated_idl_files)',
174         '<@(modules_core_global_constructors_generated_header_files)',
175       ],
176     },
177     'includes': ['../../bindings/scripts/global_constructors.gypi'],
178   },
179 ################################################################################
180   {
181     'target_name': 'modules_global_constructors_idls',
182     'dependencies': [
183       'modules_global_objects',
184     ],
185     'variables': {
186       'idl_files': '<(modules_idl_files)',
187       'global_objects_file':
188         '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
189       'global_names_idl_files': [
190         'Window',
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',
198       ],
199       'outputs': [
200         '<@(modules_global_constructors_generated_idl_files)',
201         '<@(modules_global_constructors_generated_header_files)',
202       ],
203     },
204     'includes': ['../../bindings/scripts/global_constructors.gypi'],
205   },
206 ################################################################################
207   {
208     'target_name': 'interfaces_info_individual_modules',
209     'dependencies': [
210       'modules_core_global_constructors_idls',
211       'modules_global_constructors_idls',
212     ],
213     'variables': {
214       'static_idl_files': '<(modules_static_idl_files)',
215       'generated_idl_files': '<(modules_generated_idl_files)',
216       'component_dir': 'modules',
217       'output_file':
218         '<(bindings_modules_output_dir)/InterfacesInfoModulesIndividual.pickle',
219     },
220     'includes': ['../../bindings/scripts/interfaces_info_individual.gypi'],
221   },
222 ################################################################################
223   {
224     # GN version: //third_party/WebKit/Source/bindings/modules:interfaces_info
225     'target_name': 'interfaces_info',
226     'dependencies': [
227         '../core/generated.gyp:interfaces_info_individual_core',
228         'interfaces_info_individual_modules',
229     ],
230     'variables': {
231       'input_files': [
232         '<(bindings_core_output_dir)/InterfacesInfoCoreIndividual.pickle',
233         '<(bindings_modules_output_dir)/InterfacesInfoModulesIndividual.pickle',
234       ],
235       'output_file':
236         '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
237     },
238     'includes': ['../../bindings/scripts/interfaces_info_overall.gypi'],
239   },
240 ################################################################################
241   ],  # targets
242 }