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

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

Issue 212983010: Make EventInterfaces.in build step not depend on bindings generation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 # Jinja templates 160 # Jinja templates
161 'code_generator_template_files': [ 161 'code_generator_template_files': [
162 'templates/attributes.cpp', 162 'templates/attributes.cpp',
163 'templates/callback_interface.cpp', 163 'templates/callback_interface.cpp',
164 'templates/callback_interface.h', 164 'templates/callback_interface.h',
165 'templates/interface_base.cpp', 165 'templates/interface_base.cpp',
166 'templates/interface.cpp', 166 'templates/interface.cpp',
167 'templates/interface.h', 167 'templates/interface.h',
168 'templates/methods.cpp', 168 'templates/methods.cpp',
169 ], 169 ],
170
171
172 'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings',
173
174 'conditions': [
175 # The bindings generator can skip writing generated files if they are
176 # identical to the already existing file, which avoids recompilation.
177 # However, a dependency (earlier build step) having a newer timestamp than
178 # an output (later build step) confuses some build systems, so only use
179 # this on ninja, which explicitly supports this use case (gyp turns all
180 # actions into ninja restat rules).
181 ['"<(GENERATOR)"=="ninja"', {
182 'write_file_only_if_changed': '--write-file-only-if-changed 1',
183 }, {
184 'write_file_only_if_changed': '--write-file-only-if-changed 0',
185 }],
186 ],
187 }, 170 },
188 171
189 'targets': [ 172 'targets': [
190 ################################################################################ 173 ################################################################################
191 { 174 {
192 'target_name': 'global_constructors_idls', 175 'target_name': 'global_constructors_idls',
193 'type': 'none', 176 'type': 'none',
194 'actions': [{ 177 'actions': [{
195 'action_name': 'generate_global_constructors_idls', 178 'action_name': 'generate_global_constructors_idls',
196 'inputs': [ 179 'inputs': [
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 '<@(write_file_only_if_changed)', 240 '<@(write_file_only_if_changed)',
258 '--', 241 '--',
259 # Generated files must be passed at command line 242 # Generated files must be passed at command line
260 '<@(generated_idl_files)', 243 '<@(generated_idl_files)',
261 ], 244 ],
262 'message': 'Computing global information about IDL files', 245 'message': 'Computing global information about IDL files',
263 }] 246 }]
264 }, 247 },
265 ################################################################################ 248 ################################################################################
266 { 249 {
267 'target_name': 'event_interfaces',
268 'type': 'none',
269 'dependencies': [
270 'interfaces_info',
271 ],
272 'actions': [{
273 'action_name': 'generate_event_interfaces',
274 'inputs': [
275 'scripts/generate_event_interfaces.py',
276 'scripts/utilities.py',
277 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
278 ],
279 'outputs': [
280 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
281 ],
282 'action': [
283 'python',
284 'scripts/generate_event_interfaces.py',
285 '--interfaces-info-file',
286 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
287 '--event-interfaces-file',
288 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
289 '<@(write_file_only_if_changed)',
290 ],
291 'message': 'Generating list of Event interfaces',
292 }]
293 },
294 ################################################################################
295 {
296 # A separate pre-caching step is *not required* to use lex/parse table 250 # A separate pre-caching step is *not required* to use lex/parse table
297 # caching in PLY, as the caches are concurrency-safe. 251 # caching in PLY, as the caches are concurrency-safe.
298 # However, pre-caching ensures that all compiler processes use the cached 252 # However, pre-caching ensures that all compiler processes use the cached
299 # files (hence maximizing speed), instead of early processes building the 253 # files (hence maximizing speed), instead of early processes building the
300 # tables themselves (as they've not yet been written when they start). 254 # tables themselves (as they've not yet been written when they start).
301 'target_name': 'cached_yacc_tables', 255 'target_name': 'cached_yacc_tables',
302 'type': 'none', 256 'type': 'none',
303 'actions': [{ 257 'actions': [{
304 'action_name': 'cache_yacc_tables', 258 'action_name': 'cache_yacc_tables',
305 'inputs': [ 259 'inputs': [
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 ], 384 ],
431 'message': 'Generating aggregate generated bindings files', 385 'message': 'Generating aggregate generated bindings files',
432 }], 386 }],
433 }, 387 },
434 ################################################################################ 388 ################################################################################
435 { 389 {
436 'target_name': 'generated_bindings', 390 'target_name': 'generated_bindings',
437 'type': 'none', 391 'type': 'none',
438 'dependencies': [ 392 'dependencies': [
439 'aggregate_generated_bindings', 393 'aggregate_generated_bindings',
440 'event_interfaces',
Nils Barth (inactive) 2014/03/27 06:43:51 ! Now 'generated_bindings' actually only generates
441 'individual_generated_bindings', 394 'individual_generated_bindings',
442 ], 395 ],
443 }, 396 },
444 ################################################################################ 397 ################################################################################
445 ], # targets 398 ], # targets
446 } 399 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698