Update To 11.40.268.0
[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         ],
72         'action': [
73           'python',
74           '../../build/scripts/make_event_factory.py',
75           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
76           '--output_dir',
77           '<(blink_modules_output_dir)',
78         ],
79       },
80       {
81         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_modules_names
82         'action_name': 'EventModulesNames',
83         'inputs': [
84           '<@(make_names_files)',
85           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
86         ],
87         'outputs': [
88           '<(blink_modules_output_dir)/EventModulesNames.cpp',
89           '<(blink_modules_output_dir)/EventModulesNames.h',
90         ],
91         'action': [
92           'python',
93           '../../build/scripts/make_names.py',
94           '<(blink_modules_output_dir)/EventModulesInterfaces.in',
95           '--output_dir',
96           '<(blink_modules_output_dir)',
97         ],
98       },
99       {
100         # GN version: //third_party/WebKit/Source/bindings/modules:bindings_modules_generated_event_target_modules_names
101         'action_name': 'EventTargetModulesNames',
102         'inputs': [
103           '<@(make_names_files)',
104           '../../modules/EventTargetModulesFactory.in',
105         ],
106         'outputs': [
107           '<(blink_modules_output_dir)/EventTargetModulesNames.cpp',
108           '<(blink_modules_output_dir)/EventTargetModulesNames.h',
109         ],
110         'action': [
111           'python',
112           '../../build/scripts/make_names.py',
113           '../../modules/EventTargetModulesFactory.in',
114           '--output_dir',
115           '<(blink_modules_output_dir)',
116         ],
117       },
118     ],
119   },
120 ################################################################################
121   {
122     'target_name': 'modules_global_objects',
123     'dependencies': [
124       '../core/generated.gyp:core_global_objects',
125     ],
126     'variables': {
127       'idl_files': '<(modules_idl_files)',
128       'input_files': [
129         '<(bindings_core_output_dir)/GlobalObjectsCore.pickle',
130       ],
131       'output_file':
132         '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
133     },
134     'includes': ['../../bindings/scripts/global_objects.gypi'],
135   },
136 ################################################################################
137   {
138     # Global constructors for global objects in modules (ServiceWorker)
139     # but interfaces in core.
140     'target_name': 'modules_core_global_constructors_idls',
141     'dependencies': [
142       'modules_global_objects',
143     ],
144     'variables': {
145       'idl_files': [
146         '<@(core_idl_files)',
147         '<@(core_idl_with_modules_dependency_files)',
148       ],
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',
154       ],
155       'outputs': [
156         '<@(modules_core_global_constructors_generated_idl_files)',
157         '<@(modules_core_global_constructors_generated_header_files)',
158       ],
159     },
160     'includes': ['../../bindings/scripts/global_constructors.gypi'],
161   },
162 ################################################################################
163   {
164     'target_name': 'modules_global_constructors_idls',
165     'dependencies': [
166       'modules_global_objects',
167     ],
168     'variables': {
169       'idl_files': '<(modules_idl_files)',
170       'global_objects_file':
171         '<(bindings_modules_output_dir)/GlobalObjectsModules.pickle',
172       'global_names_idl_files': [
173         'Window',
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',
181       ],
182       'outputs': [
183         '<@(modules_global_constructors_generated_idl_files)',
184         '<@(modules_global_constructors_generated_header_files)',
185       ],
186     },
187     'includes': ['../../bindings/scripts/global_constructors.gypi'],
188   },
189 ################################################################################
190   {
191     'target_name': 'interfaces_info_individual_modules',
192     'dependencies': [
193       '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables',
194       'modules_core_global_constructors_idls',
195       'modules_global_constructors_idls',
196     ],
197     'variables': {
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',
205     },
206     'includes': ['../../bindings/scripts/interfaces_info_individual.gypi'],
207   },
208 ################################################################################
209   {
210     # GN version: //third_party/WebKit/Source/bindings/modules:interfaces_info
211     'target_name': 'interfaces_info',
212     'dependencies': [
213         '../core/generated.gyp:interfaces_info_individual_core',
214         'interfaces_info_individual_modules',
215     ],
216     'variables': {
217       'input_files': [
218         '<(bindings_core_output_dir)/InterfacesInfoCoreIndividual.pickle',
219         '<(bindings_modules_output_dir)/InterfacesInfoOverallIndividual.pickle',
220       ],
221       'output_file':
222         '<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
223     },
224     'includes': ['../../bindings/scripts/interfaces_info_overall.gypi'],
225   },
226 ################################################################################
227   ],  # targets
228 }