OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |