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

Side by Side Diff: Source/bindings/derived_sources.gyp

Issue 24156003: Revert IDL compiler build flow to Perl, rename 'deprecated' (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 7 years, 3 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
« no previous file with comments | « no previous file | Source/bindings/scripts/blink_idl_lexer.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # 1 #
2 # Copyright (C) 2013 Google Inc. All rights reserved. 2 # Copyright (C) 2013 Google Inc. All rights reserved.
3 # 3 #
4 # Redistribution and use in source and binary forms, with or without 4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are 5 # modification, are permitted provided that the following conditions are
6 # met: 6 # met:
7 # 7 #
8 # * Redistributions of source code must retain the above copyright 8 # * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer. 9 # notice, this list of conditions and the following disclaimer.
10 # * Redistributions in binary form must reproduce the above 10 # * Redistributions in binary form must reproduce the above
(...skipping 19 matching lines...) Expand all
30 30
31 { 31 {
32 'includes': [ 32 'includes': [
33 '../build/win/precompile.gypi', 33 '../build/win/precompile.gypi',
34 '../core/core.gypi', 34 '../core/core.gypi',
35 '../modules/modules.gypi', 35 '../modules/modules.gypi',
36 'bindings.gypi', 36 'bindings.gypi',
37 ], 37 ],
38 38
39 'variables': { 39 'variables': {
40 'deprecated_perl_idl_files': [ 40 'idl_files': [
41 '<@(deprecated_perl_core_idl_files)', 41 '<@(core_idl_files)',
42 '<@(deprecated_perl_modules_idl_files)', 42 '<@(modules_idl_files)',
43 '<@(deprecated_perl_svg_idl_files)', 43 '<@(svg_idl_files)',
44 ],
45 'python_idl_files': [
46 '<@(python_core_idl_files)',
47 '<@(python_modules_idl_files)',
48 '<@(python_svg_idl_files)',
49 ],
50 'perl_and_python_idl_files': [
51 '<@(deprecated_perl_idl_files)',
52 '<@(python_idl_files)',
53 ],
54 'webcore_test_support_idl_files': [
55 '<@(deprecated_perl_webcore_test_support_idl_files)',
56 '<@(python_webcore_test_support_idl_files)',
57 ], 44 ],
58 'compiler_module_files': [ 45 'compiler_module_files': [
59 'scripts/idl_compiler.py', 46 'scripts/idl_compiler.py',
60 '<(DEPTH)/third_party/ply/lex.py', 47 '<(DEPTH)/third_party/ply/lex.py',
61 '<(DEPTH)/third_party/ply/yacc.py', 48 '<(DEPTH)/third_party/ply/yacc.py',
62 # jinja2/__init__.py contains version string, so sufficient for package 49 # jinja2/__init__.py contains version string, so sufficient for package
63 '<(DEPTH)/third_party/jinja2/__init__.py', 50 '<(DEPTH)/third_party/jinja2/__init__.py',
64 '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep 51 '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
65 '<(DEPTH)/tools/idl_parser/idl_lexer.py', 52 '<(DEPTH)/tools/idl_parser/idl_lexer.py',
66 '<(DEPTH)/tools/idl_parser/idl_node.py', 53 '<(DEPTH)/tools/idl_parser/idl_node.py',
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 }, 133 },
147 134
148 'targets': [{ 135 'targets': [{
149 'target_name': 'interface_dependencies', 136 'target_name': 'interface_dependencies',
150 'type': 'none', 137 'type': 'none',
151 'actions': [{ 138 'actions': [{
152 'action_name': 'compute_interface_dependencies', 139 'action_name': 'compute_interface_dependencies',
153 'variables': { 140 'variables': {
154 # Write sources into a file, so that the action command line won't 141 # Write sources into a file, so that the action command line won't
155 # exceed OS limits. 142 # exceed OS limits.
156 'idl_files_list': '<|(idl_files_list.tmp <@(perl_and_python_idl_files))' , 143 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))',
157 }, 144 },
158 'inputs': [ 145 'inputs': [
159 'scripts/compute_dependencies.py', 146 'scripts/compute_dependencies.py',
160 '<(idl_files_list)', 147 '<(idl_files_list)',
161 '<!@(cat <(idl_files_list))', 148 '<!@(cat <(idl_files_list))',
162 ], 149 ],
163 'outputs': [ 150 'outputs': [
164 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt', 151 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
165 '<@(generated_global_constructors_idl_files)', 152 '<@(generated_global_constructors_idl_files)',
166 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in', 153 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
(...skipping 15 matching lines...) Expand all
182 '--dedicatedworkerglobalscope-constructors-file', 169 '--dedicatedworkerglobalscope-constructors-file',
183 '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructor s.idl', 170 '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructor s.idl',
184 '--event-names-file', 171 '--event-names-file',
185 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in', 172 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
186 '<@(write_file_only_if_changed)', 173 '<@(write_file_only_if_changed)',
187 ], 174 ],
188 'message': 'Resolving partial interfaces dependencies in all IDL files', 175 'message': 'Resolving partial interfaces dependencies in all IDL files',
189 }] 176 }]
190 }, 177 },
191 { 178 {
192 'target_name': 'deprecated_perl_bindings_sources', 179 'target_name': 'bindings_sources',
193 'type': 'none', 180 'type': 'none',
194 # The 'binding' rule generates .h files, so mark as hard_dependency, per: 181 # The 'binding' rule generates .h files, so mark as hard_dependency, per:
195 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependen cies 182 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependen cies
196 'hard_dependency': 1, 183 'hard_dependency': 1,
197 'dependencies': [ 184 'dependencies': [
198 'interface_dependencies', 185 'interface_dependencies',
199 '../core/core_derived_sources.gyp:generate_test_support_idls', 186 '../core/core_derived_sources.gyp:generate_test_support_idls',
200 ], 187 ],
201 'sources': [ 188 'sources': [
202 '<@(deprecated_perl_idl_files)', 189 '<@(idl_files)',
203 '<@(deprecated_perl_webcore_test_support_idl_files)', 190 '<@(webcore_test_support_idl_files)',
204 ], 191 ],
205 'rules': [{ 192 'rules': [{
206 'rule_name': 'deprecated_perl_binding', 193 'rule_name': 'binding',
207 'extension': 'idl', 194 'extension': 'idl',
208 'msvs_external_rule': 1, 195 'msvs_external_rule': 1,
209 'inputs': [ 196 'inputs': [
210 'scripts/deprecated_generate_bindings.pl', 197 'scripts/generate_bindings.pl',
211 'scripts/deprecated_code_generator_v8.pm', 198 'scripts/code_generator_v8.pm',
212 'scripts/deprecated_idl_parser.pm', 199 'scripts/idl_parser.pm',
213 'scripts/deprecated_idl_serializer.pm', 200 'scripts/idl_serializer.pm',
214 '../core/scripts/preprocessor.pm', 201 '../core/scripts/preprocessor.pm',
215 'scripts/IDLAttributes.txt', 202 'scripts/IDLAttributes.txt',
216 # FIXME: If the dependency structure changes, we rebuild all files, 203 # FIXME: If the dependency structure changes, we rebuild all files,
217 # since we're not computing dependencies file-by-file in the build. 204 # since we're not computing dependencies file-by-file in the build.
218 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt', 205 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
219 # FIXME: Similarly, if any partial interface changes, rebuild 206 # FIXME: Similarly, if any partial interface changes, rebuild
220 # everything, since every IDL potentially depends on them, because 207 # everything, since every IDL potentially depends on them, because
221 # we're not computing dependencies file-by-file. 208 # we're not computing dependencies file-by-file.
222 # 209 #
223 # If a new partial interface is added, need to regyp to update these 210 # If a new partial interface is added, need to regyp to update these
224 # dependencies, as these are computed statically at gyp runtime. 211 # dependencies, as these are computed statically at gyp runtime.
225 '<!@pymod_do_main(list_idl_files_with_partial_interface <@(perl_and_py thon_idl_files))', 212 '<!@pymod_do_main(list_idl_files_with_partial_interface <@(idl_files)) ',
226 # Generated IDLs are all partial interfaces, hence everything 213 # Generated IDLs are all partial interfaces, hence everything
227 # potentially depends on them. 214 # potentially depends on them.
228 '<@(generated_global_constructors_idl_files)', 215 '<@(generated_global_constructors_idl_files)',
229 ], 216 ],
230 'outputs': [ 217 'outputs': [
231 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).cpp', 218 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).cpp',
232 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).h', 219 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).h',
233 ], 220 ],
234 'variables': { 221 'variables': {
235 # IDL include paths. The generator will search recursively for IDL 222 # IDL include paths. The generator will search recursively for IDL
236 # files under these locations. 223 # files under these locations.
237 'generator_include_dirs': [ 224 'generator_include_dirs': [
238 '--include', '../core', 225 '--include', '../core',
239 '--include', '../modules', 226 '--include', '../modules',
240 '--include', '<(SHARED_INTERMEDIATE_DIR)/blink', 227 '--include', '<(SHARED_INTERMEDIATE_DIR)/blink',
241 ], 228 ],
242 # Hook for embedders to specify extra directories to find IDL files. 229 # Hook for embedders to specify extra directories to find IDL files.
243 'extra_blink_generator_include_dirs%': [], 230 'extra_blink_generator_include_dirs%': [],
244 }, 231 },
245 'msvs_cygwin_shell': 0, 232 'msvs_cygwin_shell': 0,
246 # sanitize-win-build-log.sed uses a regex which matches this command 233 # sanitize-win-build-log.sed uses a regex which matches this command
247 # line (Perl script + .idl file being processed). 234 # line (Perl script + .idl file being processed).
248 # Update that regex if command line changes (other than changing flags) 235 # Update that regex if command line changes (other than changing flags)
249 'action': [ 236 'action': [
250 '<(perl_exe)', 237 '<(perl_exe)',
251 '-w', 238 '-w',
252 '-Iscripts', 239 '-Iscripts',
253 '-I../core/scripts', 240 '-I../core/scripts',
254 '-I<(DEPTH)/third_party/JSON/out/lib/perl5', 241 '-I<(DEPTH)/third_party/JSON/out/lib/perl5',
255 'scripts/deprecated_generate_bindings.pl', 242 'scripts/generate_bindings.pl',
256 '--outputDir', 243 '--outputDir',
257 '<(bindings_output_dir)', 244 '<(bindings_output_dir)',
258 '--idlAttributesFile', 245 '--idlAttributesFile',
259 'scripts/IDLAttributes.txt', 246 'scripts/IDLAttributes.txt',
260 '<@(generator_include_dirs)', 247 '<@(generator_include_dirs)',
261 '<@(extra_blink_generator_include_dirs)', 248 '<@(extra_blink_generator_include_dirs)',
262 '--interfaceDependenciesFile', 249 '--interfaceDependenciesFile',
263 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt', 250 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
264 '--additionalIdlFiles', 251 '--additionalIdlFiles',
265 '<(deprecated_perl_webcore_test_support_idl_files)', 252 '<(webcore_test_support_idl_files)',
266 '<@(preprocessor)', 253 '<@(preprocessor)',
267 '<@(write_file_only_if_changed)', 254 '<@(write_file_only_if_changed)',
268 '<(RULE_INPUT_PATH)', 255 '<(RULE_INPUT_PATH)',
269 ], 256 ],
270 'message': 'Generating binding from <(RULE_INPUT_PATH)',
271 }],
272 },
273 {
274 'target_name': 'python_bindings_sources',
275 'type': 'none',
276 # The 'binding' rule generates .h files, so mark as hard_dependency, per:
277 # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependen cies
278 'hard_dependency': 1,
279 'dependencies': [
280 'interface_dependencies',
281 '../core/core_derived_sources.gyp:generate_test_support_idls',
282 ],
283 'sources': [
284 '<@(python_idl_files)',
285 '<@(python_webcore_test_support_idl_files)',
286 ],
287 'rules': [{
288 'rule_name': 'python_binding',
289 'extension': 'idl',
290 'msvs_external_rule': 1,
291 'inputs': [
292 '<@(compiler_module_files)',
293 '<@(code_generator_template_files)',
294 'scripts/IDLAttributes.txt',
295 # FIXME: If the dependency structure changes, we rebuild all files,
296 # since we're not computing dependencies file-by-file in the build.
297 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
298 # FIXME: Similarly, if any partial interface changes, rebuild
299 # everything, since every IDL potentially depends on them, because
300 # we're not computing dependencies file-by-file.
301 '<!@pymod_do_main(list_idl_files_with_partial_interface <@(perl_and_py thon_idl_files))',
302 # Generated IDLs are all partial interfaces, hence everything
303 # potentially depends on them.
304 '<@(generated_global_constructors_idl_files)',
305 ],
306 'outputs': [
307 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).cpp',
308 '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).h',
309 ],
310 'variables': {
311 # IDL include paths. The generator will search recursively for IDL
312 # files under these locations.
313 'generator_include_dirs': [
314 '--include', '../core',
315 '--include', '../modules',
316 '--include', '<(SHARED_INTERMEDIATE_DIR)/blink',
317 ],
318 # Hook for embedders to specify extra directories to find IDL files.
319 'extra_blink_generator_include_dirs%': [],
320 },
321 'msvs_cygwin_shell': 0,
322 # sanitize-win-build-log.sed uses a regex which matches this command
323 # line (Python script + .idl file being processed).
324 # Update that regex if command line changes (other than changing flags)
325 'action': [
326 'python',
327 'scripts/idl_compiler.py',
328 '--output-dir',
329 '<(bindings_output_dir)',
330 '--idl-attributes-file',
331 'scripts/IDLAttributes.txt',
332 '<@(generator_include_dirs)',
333 '<@(extra_blink_generator_include_dirs)',
334 '--interface-dependencies-file',
335 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
336 '--additional-idl-files',
337 '<(webcore_test_support_idl_files)',
338 '<@(write_file_only_if_changed)',
339 '<(RULE_INPUT_PATH)',
340 ],
341 'message': 'Generating binding from <(RULE_INPUT_PATH)', 257 'message': 'Generating binding from <(RULE_INPUT_PATH)',
342 }], 258 }],
343 }, 259 },
344 { 260 {
345 'target_name': 'bindings_derived_sources', 261 'target_name': 'bindings_derived_sources',
346 'type': 'none', 262 'type': 'none',
347 'dependencies': [ 263 'dependencies': [
348 'interface_dependencies', 264 'interface_dependencies',
349 'deprecated_perl_bindings_sources', 265 'bindings_sources',
350 'python_bindings_sources',
351 ], 266 ],
352 'actions': [{ 267 'actions': [{
353 'action_name': 'derived_sources_all_in_one', 268 'action_name': 'derived_sources_all_in_one',
354 'inputs': [ 269 'inputs': [
355 '../core/scripts/action_derivedsourcesallinone.py', 270 '../core/scripts/action_derivedsourcesallinone.py',
356 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt', 271 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
357 ], 272 ],
358 'outputs': [ 273 'outputs': [
359 '<@(derived_sources_aggregate_files)', 274 '<@(derived_sources_aggregate_files)',
360 ], 275 ],
361 'action': [ 276 'action': [
362 'python', 277 'python',
363 '../core/scripts/action_derivedsourcesallinone.py', 278 '../core/scripts/action_derivedsourcesallinone.py',
364 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt', 279 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfaceDependencies.txt',
365 '--', 280 '--',
366 '<@(derived_sources_aggregate_files)', 281 '<@(derived_sources_aggregate_files)',
367 ], 282 ],
368 'message': 'Generating bindings derived sources', 283 'message': 'Generating bindings derived sources',
369 }], 284 }],
370 }, 285 },
371 ], 286 ],
372 } 287 }
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/scripts/blink_idl_lexer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698