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

Side by Side Diff: Source/bindings/modules/v8/generated.gyp

Issue 618373003: [bindings] partial interfaces should not violate componentization (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # Generate IDL bindings for modules, plus aggregate bindings files. 5 # Generate IDL bindings for modules, plus aggregate bindings files.
6 # 6 #
7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build 7 # Design doc: http://www.chromium.org/developers/design-documents/idl-build
8 8
9 { 9 {
10 'includes': [ 10 'includes': [
11 # ../../.. == Source 11 # ../../.. == Source
12 '../../../bindings/bindings.gypi', 12 '../../../bindings/bindings.gypi',
13 '../../../bindings/modules/idl.gypi', 13 '../../../bindings/modules/idl.gypi',
14 '../../../bindings/modules/modules.gypi', 14 '../../../bindings/modules/modules.gypi',
15 '../../../bindings/scripts/scripts.gypi', 15 '../../../bindings/scripts/scripts.gypi',
16 # Need to know core idl files list to generate parital interfaces
17 # defined in modules.
18 '../../../core/core.gypi',
16 '../../../modules/modules.gypi', 19 '../../../modules/modules.gypi',
17 'generated.gypi', 20 'generated.gypi',
18 ], 21 ],
19 22
20 'targets': [ 23 'targets': [
21 ################################################################################ 24 ################################################################################
22 { 25 {
23 'target_name': 'bindings_modules_v8_generated_individual', 26 'target_name': 'bindings_modules_v8_generated_individual',
24 'type': 'none', 27 'type': 'none',
25 # The 'binding' rule generates .h files, so mark as hard_dependency, per: 28 # The 'binding' rule generates .h files, so mark as hard_dependency, per:
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 'inputs': [ 92 'inputs': [
90 '<(bindings_scripts_dir)/aggregate_generated_bindings.py', 93 '<(bindings_scripts_dir)/aggregate_generated_bindings.py',
91 '<(modules_idl_files_list)', 94 '<(modules_idl_files_list)',
92 ], 95 ],
93 'outputs': [ 96 'outputs': [
94 '<@(bindings_modules_v8_generated_aggregate_files)', 97 '<@(bindings_modules_v8_generated_aggregate_files)',
95 ], 98 ],
96 'action': [ 99 'action': [
97 'python', 100 'python',
98 '<(bindings_scripts_dir)/aggregate_generated_bindings.py', 101 '<(bindings_scripts_dir)/aggregate_generated_bindings.py',
102 '--component-dir',
99 'modules', 103 'modules',
104 '--idl-files-list',
100 '<(modules_idl_files_list)', 105 '<(modules_idl_files_list)',
101 '--',
102 '<@(bindings_modules_v8_generated_aggregate_files)', 106 '<@(bindings_modules_v8_generated_aggregate_files)',
103 ], 107 ],
104 'message': 'Generating aggregate generated modules V8 bindings files', 108 'message': 'Generating aggregate generated modules V8 bindings files',
105 }], 109 }],
106 }, 110 },
107 ################################################################################ 111 ################################################################################
108 { 112 {
109 # GN version: //third_party/WebKit/Source/bindings/modules/v8:bindings_modul es_dictionary_impl_generated 113 # GN version: //third_party/WebKit/Source/bindings/modules/v8:bindings_modul es_dictionary_impl_generated
110 # http://crbug.com/358074; See comments on 114 # http://crbug.com/358074; See comments on
111 # 'bindings_core_v8_generated_individual' target 115 # 'bindings_core_v8_generated_individual' target
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 '--write-file-only-if-changed', 152 '--write-file-only-if-changed',
149 '<(write_file_only_if_changed)', 153 '<(write_file_only_if_changed)',
150 '--generate-dictionary-impl', 154 '--generate-dictionary-impl',
151 '<(modules_dictionary_idl_files_list)', 155 '<(modules_dictionary_idl_files_list)',
152 ], 156 ],
153 'message': 'Generating modules IDL dictionary impl classes', 157 'message': 'Generating modules IDL dictionary impl classes',
154 }], 158 }],
155 }, 159 },
156 ################################################################################ 160 ################################################################################
157 { 161 {
162 'target_name': 'bindings_modules_v8_generated_partial_individual',
163 'type': 'none',
164 # The 'partial_binding' rule generates .h files, so mark as hard_dependency, per:
165 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependenci es
166 'hard_dependency': 1,
167 'dependencies': [
168 '../../core/generated.gyp:core_global_constructors_idls',
169 '../generated.gyp:modules_global_constructors_idls',
170 '../generated.gyp:interfaces_info',
171 '<(bindings_scripts_dir)/scripts.gyp:cached_jinja_templates',
172 '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables',
173 ],
174 # We need to generate partial interface code for normal modules and also for testing.
175 # i.e. parital interface Internals.
176 'sources': [
177 '<@(core_idl_with_modules_dependency_files)',
178 '<@(webcore_testing_idl_with_modules_dependency_files)',
179 ],
180 'rules': [{
181 'rule_name': 'partial_binding',
182 'extension': 'idl',
183 'msvs_external_rule': 1,
184 'inputs': [
185 '<@(idl_lexer_parser_files)', # to be explicit (covered by parsetab)
186 '<@(idl_compiler_files)',
187 '<(bindings_scripts_output_dir)/lextab.py',
188 '<(bindings_scripts_output_dir)/parsetab.pickle',
189 '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp',
190 '<(bindings_dir)/IDLExtendedAttributes.txt',
191 # If the dependency structure or public interface info (e.g.,
192 # [ImplementedAs]) changes, we rebuild all files, since we're not
193 # computing dependencies file-by-file in the build.
194 # This data is generally stable.
195 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
196 # Further, if any dependency (partial interface or implemented
197 # interface) changes, rebuild everything, since every IDL potentially
198 # depends on them, because we're not computing dependencies
199 # file-by-file.
200 # FIXME: This is too conservative, and causes excess rebuilds:
201 # compute this file-by-file. http://crbug.com/341748
202 '<@(all_dependency_idl_files)',
203 '<@(webcore_testing_idl_files)',
204 ],
205 'outputs': [
206 '<(bindings_modules_v8_output_dir)/V8<(RULE_INPUT_ROOT)Partial.cpp',
207 '<(bindings_modules_v8_output_dir)/V8<(RULE_INPUT_ROOT)Partial.h',
208 ],
209 # sanitize-win-build-log.sed uses a regex which matches this command
210 # line (Python script + .idl file being processed).
211 # Update that regex if command line changes (other than changing flags)
bashi 2014/10/10 09:48:11 I'm not sure, but you might need to take a look at
tasak 2014/10/10 11:43:40 Done.
212 'action': [
213 'python',
214 '-S', # skip 'import site' to speed up startup
215 '<(bindings_scripts_dir)/idl_compiler.py',
216 '--cache-dir',
217 '<(bindings_scripts_output_dir)',
218 '--output-dir',
219 '<(bindings_modules_v8_output_dir)',
220 '--interfaces-info',
221 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
222 '--write-file-only-if-changed',
223 '<(write_file_only_if_changed)',
224 '--generate-partial',
225 '<(RULE_INPUT_PATH)',
226 ],
227 'message': 'Generating partial binding from <(RULE_INPUT_PATH)',
228 }],
229 },
230 ################################################################################
231 {
232 'target_name': 'bindings_modules_v8_generated_partial_aggregate',
233 'type': 'none',
234 'actions': [{
235 'action_name': 'generate_aggregate_bindings_modules_v8_partial',
236 'inputs': [
237 '<(bindings_scripts_dir)/aggregate_generated_bindings.py',
238 '<(core_idl_with_modules_dependency_files_list)',
239 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
240 ],
241 'outputs': [
242 '<@(bindings_modules_v8_generated_partial_aggregate_files)',
243 ],
244 'action': [
245 'python',
246 '<(bindings_scripts_dir)/aggregate_generated_bindings.py',
247 '--component-dir',
248 'modules',
249 '--idl-files-list',
250 '<(core_idl_with_modules_dependency_files_list)',
251 '--partial',
252 '1',
bashi 2014/10/10 09:48:11 It's difficult to understand what '1' means here.
tasak 2014/10/10 11:43:40 Done.
253 '--cache-dir',
254 '<(bindings_scripts_output_dir)',
255 '--interfaces-info',
256 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
257 '<@(bindings_modules_v8_generated_partial_aggregate_files)',
258 ],
259 'message': 'Generating aggregate generated modules V8 partial bindings fil es',
260 }],
261 },
262 ################################################################################
263 {
264 'target_name': 'bindings_modules_v8_generated_init_partial',
265 'type': 'none',
266 'actions': [{
267 'action_name': 'generate_bindings_modules_v8_init_partial',
268 'inputs': [
269 '<(bindings_scripts_dir)/generate_init_partial_interfaces.py',
270 '<(core_idl_with_modules_dependency_files_list)',
271 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
272 ],
273 'outputs': [
274 '<(bindings_modules_v8_output_dir)/InitModulesForPartialInterfaces.cpp',
275 ],
276 'action': [
277 'python',
278 '<(bindings_scripts_dir)/generate_init_partial_interfaces.py',
279 '--idl-files-list',
280 '<(core_idl_with_modules_dependency_files_list)',
281 '--interfaces-info',
282 '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
283 '--cache-directory',
284 '<(bindings_scripts_output_dir)',
285 '--output',
286 '<(bindings_modules_v8_output_dir)/InitModulesForPartialInterfaces.cpp',
287 '--write-file-only-if-changed',
288 '<(write_file_only_if_changed)',
289 ],
290 }],
291 },
292 ################################################################################
293 {
158 'target_name': 'bindings_modules_v8_generated', 294 'target_name': 'bindings_modules_v8_generated',
159 'type': 'none', 295 'type': 'none',
160 'dependencies': [ 296 'dependencies': [
161 'bindings_modules_dictionary_impl_generated', 297 'bindings_modules_dictionary_impl_generated',
162 'bindings_modules_v8_generated_aggregate', 298 'bindings_modules_v8_generated_aggregate',
163 'bindings_modules_v8_generated_individual', 299 'bindings_modules_v8_generated_individual',
300 'bindings_modules_v8_generated_partial_aggregate',
301 'bindings_modules_v8_generated_partial_individual',
302 'bindings_modules_v8_generated_init_partial',
bashi 2014/10/10 09:48:11 nit: alphabetical order
tasak 2014/10/10 11:43:40 Done.
164 ], 303 ],
165 }, 304 },
166 ################################################################################ 305 ################################################################################
167 ], # targets 306 ], # targets
168 } 307 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698