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

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

Issue 300133002: Split generated_bindings.gyp into core and modules (1/2) (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Cleaner Created 6 years, 7 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 # 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 17 matching lines...) Expand all
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 # 29 #
30 30
31 # Generate IDL bindings, together with auxiliary files 31 # Generate IDL bindings, together with auxiliary files
32 # (constructors on global objects, aggregate bindings files). 32 # (constructors on global objects, aggregate bindings files).
33 # 33 #
34 # Design doc: http://www.chromium.org/developers/design-documents/idl-build 34 # Design doc: http://www.chromium.org/developers/design-documents/idl-build
35 35
36 { 36 {
37 'includes': [ 37 'includes': [
38 'bindings.gypi', 38 'idl.gypi',
Nils Barth (inactive) 2014/05/26 05:51:11 ! All we care about is the list of IDL files !
39 '../core/core.gypi',
40 '../modules/modules.gypi',
41 ], 39 ],
42 40
43 'variables': { 41 'variables': {
44 # IDL file lists; see: http://www.chromium.org/developers/web-idl-interfaces
45 #
46 # Interface IDL files / Dependency IDL files
47 # Interface IDL files: generate individual bindings (includes testing)
48 'interface_idl_files': [
49 '<@(static_interface_idl_files)',
50 '<@(generated_interface_idl_files)',
51 ],
52 # Dependency IDL files: don't generate individual bindings, but do process
53 # in IDL dependency computation, and count as build dependencies
54 'dependency_idl_files': [
55 '<@(static_dependency_idl_files)',
56 '<@(generated_dependency_idl_files)',
57 ],
58 # Main interface IDL files (excluding dependencies and testing)
59 # are included as properties on global objects, and in aggregate bindings
60 'main_interface_idl_files': [
61 '<@(core_idl_files)',
62 '<@(modules_idl_files)',
63 ],
64 # Write lists of main IDL files to a file, so that the command lines don't
65 # exceed OS length limits.
66 'main_interface_idl_files_list': '<|(main_interface_idl_files_list.tmp <@(ma in_interface_idl_files))',
67 'core_idl_files_list': '<|(core_idl_files_list.tmp <@(core_idl_files))',
68 'modules_idl_files_list': '<|(modules_idl_files_list.tmp <@(modules_idl_file s))',
69
70 # Static IDL files / Generated IDL files
71 # Paths need to be passed separately for static and generated files, as
72 # static files are listed in a temporary file (b/c too long for command
73 # line), but generated files must be passed at the command line, as their
74 # paths are not fixed at GYP time, when the temporary file is generated,
75 # because their paths depend on the build directory, which varies.
76 'static_idl_files': [
77 '<@(static_interface_idl_files)',
78 '<@(static_dependency_idl_files)',
79 ],
80 'static_idl_files_list': '<|(static_idl_files_list.tmp <@(static_idl_files)) ',
81 'generated_idl_files': [
82 '<@(generated_interface_idl_files)',
83 '<@(generated_dependency_idl_files)',
84 ],
85
86 # Static IDL files
87 'static_interface_idl_files': [
88 '<@(core_idl_files)',
89 '<@(webcore_testing_idl_files)',
90 '<@(modules_idl_files)',
91 ],
92 'static_dependency_idl_files': [
93 '<@(core_dependency_idl_files)',
94 '<@(modules_dependency_idl_files)',
95 '<@(modules_testing_dependency_idl_files)',
96 ],
97
98 # Generated IDL files
99 'generated_interface_idl_files': [
100 '<@(generated_webcore_testing_idl_files)', # interfaces
101 ],
102 'generated_dependency_idl_files': [
103 '<@(generated_global_constructors_idl_files)', # partial interfaces
104 ],
105
106 'generated_global_constructors_idl_files': [
107 '<(blink_output_dir)/WindowConstructors.idl',
108 '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.idl',
109 '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
110 '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
111 ],
112
113 'generated_global_constructors_header_files': [
114 '<(blink_output_dir)/WindowConstructors.h',
115 '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.h',
116 '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.h',
117 '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.h',
118 ],
119
120
121 # Python source 42 # Python source
122 'jinja_module_files': [ 43 'jinja_module_files': [
123 # jinja2/__init__.py contains version string, so sufficient for package 44 # jinja2/__init__.py contains version string, so sufficient for package
124 '<(DEPTH)/third_party/jinja2/__init__.py', 45 '<(DEPTH)/third_party/jinja2/__init__.py',
125 '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep 46 '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep
126 ], 47 ],
127 'idl_lexer_parser_files': [ 48 'idl_lexer_parser_files': [
128 # PLY (Python Lex-Yacc) 49 # PLY (Python Lex-Yacc)
129 '<(DEPTH)/third_party/ply/lex.py', 50 '<(DEPTH)/third_party/ply/lex.py',
130 '<(DEPTH)/third_party/ply/yacc.py', 51 '<(DEPTH)/third_party/ply/yacc.py',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 'templates/interface_base.cpp', 83 'templates/interface_base.cpp',
163 'templates/interface.cpp', 84 'templates/interface.cpp',
164 'templates/interface.h', 85 'templates/interface.h',
165 'templates/methods.cpp', 86 'templates/methods.cpp',
166 ], 87 ],
167 }, 88 },
168 89
169 'targets': [ 90 'targets': [
170 ################################################################################ 91 ################################################################################
171 { 92 {
93 # FIXME: Global constructors are used by bindings_core (e.g., V8Window.cpp)
94 # but depend on modules, which violates layering http://crbug.com/358074
172 'target_name': 'global_constructors_idls', 95 'target_name': 'global_constructors_idls',
173 'type': 'none', 96 'type': 'none',
174 'actions': [{ 97 'actions': [{
175 'action_name': 'generate_global_constructors_idls', 98 'action_name': 'generate_global_constructors_idls',
176 'inputs': [ 99 'inputs': [
177 'scripts/generate_global_constructors.py', 100 'scripts/generate_global_constructors.py',
178 'scripts/utilities.py', 101 'scripts/utilities.py',
179 # Only includes main IDL files (exclude dependencies and testing, 102 # Only includes main IDL files (exclude dependencies and testing,
180 # which should not appear on global objects). 103 # which should not appear on global objects).
181 '<(main_interface_idl_files_list)', 104 '<(main_interface_idl_files_list)',
(...skipping 18 matching lines...) Expand all
200 'DedicatedWorkerGlobalScope', 123 'DedicatedWorkerGlobalScope',
201 '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl', 124 '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
202 'ServiceWorkerGlobalScope', 125 'ServiceWorkerGlobalScope',
203 '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl', 126 '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
204 ], 127 ],
205 'message': 'Generating IDL files for constructors on global objects', 128 'message': 'Generating IDL files for constructors on global objects',
206 }] 129 }]
207 }, 130 },
208 ################################################################################ 131 ################################################################################
209 { 132 {
133 # FIXME: interfaces_info is used by bindings_core, but depend on modules,
134 # which violates layering http://crbug.com/358074
135 # Generate separate interfaces_info_core and interfaces_info_modules
210 'target_name': 'interfaces_info', 136 'target_name': 'interfaces_info',
211 'type': 'none', 137 'type': 'none',
212 'dependencies': [ 138 'dependencies': [
213 # Generated IDLs 139 # Generated IDLs
214 'global_constructors_idls', 140 'global_constructors_idls',
215 '../core/core_generated.gyp:generated_testing_idls', 141 '../core/core_generated.gyp:generated_testing_idls',
216 ], 142 ],
217 'actions': [{ 143 'actions': [{
218 'action_name': 'compute_interfaces_info', 144 'action_name': 'compute_interfaces_info',
219 'inputs': [ 145 'inputs': [
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 '<(blink_output_dir)/InterfacesInfo.pickle', 277 '<(blink_output_dir)/InterfacesInfo.pickle',
352 '--write-file-only-if-changed', 278 '--write-file-only-if-changed',
353 '<(write_file_only_if_changed)', 279 '<(write_file_only_if_changed)',
354 '<(RULE_INPUT_PATH)', 280 '<(RULE_INPUT_PATH)',
355 ], 281 ],
356 'message': 'Generating binding from <(RULE_INPUT_PATH)', 282 'message': 'Generating binding from <(RULE_INPUT_PATH)',
357 }], 283 }],
358 }, 284 },
359 ################################################################################ 285 ################################################################################
360 { 286 {
361 'target_name': 'bindings_core_generated_aggregate', 287 'target_name': 'bindings_generated',
362 'type': 'none',
363 'actions': [{
364 'action_name': 'generate_aggregate_bindings_core',
365 'inputs': [
366 'scripts/aggregate_generated_bindings.py',
367 '<(core_idl_files_list)',
368 ],
369 'outputs': [
370 '<@(bindings_core_generated_aggregate_files)',
371 ],
372 'action': [
373 'python',
374 'scripts/aggregate_generated_bindings.py',
375 '<(core_idl_files_list)',
376 '--',
377 '<@(bindings_core_generated_aggregate_files)',
378 ],
379 'message': 'Generating aggregate generated core bindings files',
380 }],
381 },
382 ################################################################################
383 {
384 'target_name': 'bindings_modules_generated_aggregate',
385 'type': 'none',
386 'actions': [{
387 'action_name': 'generate_aggregate_bindings_modules',
388 'inputs': [
389 'scripts/aggregate_generated_bindings.py',
390 '<(modules_idl_files_list)',
391 ],
392 'outputs': [
393 '<@(bindings_modules_generated_aggregate_files)',
394 ],
395 'action': [
396 'python',
397 'scripts/aggregate_generated_bindings.py',
398 '<(modules_idl_files_list)',
399 '--',
400 '<@(bindings_modules_generated_aggregate_files)',
401 ],
402 'message': 'Generating aggregate generated modules bindings files',
403 }],
404 },
405 ################################################################################
406 {
407 'target_name': 'generated_bindings',
408 'type': 'none', 288 'type': 'none',
409 'dependencies': [ 289 'dependencies': [
410 'bindings_core_generated_aggregate', 290 # FIXME: split into core and modules http://crbug.com/358074
411 'bindings_modules_generated_aggregate',
412 'individual_generated_bindings', 291 'individual_generated_bindings',
413 ], 292 ],
414 }, 293 },
415 ################################################################################ 294 ################################################################################
416 ], # targets 295 ], # targets
417 } 296 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698