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 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', | 277 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', |
278 '--event-names-file', | 278 '--event-names-file', |
279 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in', | 279 '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in', |
280 '<@(write_file_only_if_changed)', | 280 '<@(write_file_only_if_changed)', |
281 ], | 281 ], |
282 'message': 'Generating list of Event interfaces', | 282 'message': 'Generating list of Event interfaces', |
283 }] | 283 }] |
284 }, | 284 }, |
285 ################################################################################ | 285 ################################################################################ |
286 { | 286 { |
287 # A separate pre-caching step is *not required* to use parse table caching | 287 # A separate pre-caching step is *not required* to use lex/parse table |
288 # in PLY, as the cache is concurrency-safe. | 288 # caching in PLY, as the caches are concurrency-safe. |
289 # However, pre-caching ensures that all compiler processes use the cached | 289 # However, pre-caching ensures that all compiler processes use the cached |
290 # file (hence maximizing speed), instead of early processes building the | 290 # files (hence maximizing speed), instead of early processes building the |
291 # table themselves (as it's not yet been written by the time they start). | 291 # tables themselves (as they've not yet been written when they start). |
292 'target_name': 'cached_yacc_tables', | 292 'target_name': 'cached_yacc_tables', |
293 'type': 'none', | 293 'type': 'none', |
294 'actions': [{ | 294 'actions': [{ |
295 'action_name': 'cache_yacc_tables', | 295 'action_name': 'cache_yacc_tables', |
296 'inputs': [ | 296 'inputs': [ |
297 '<@(idl_lexer_parser_files)', | 297 '<@(idl_lexer_parser_files)', |
298 ], | 298 ], |
299 'outputs': [ | 299 'outputs': [ |
| 300 '<(bindings_output_dir)/lextab.py', |
300 '<(bindings_output_dir)/parsetab.pickle', | 301 '<(bindings_output_dir)/parsetab.pickle', |
301 ], | 302 ], |
302 'action': [ | 303 'action': [ |
303 'python', | 304 'python', |
304 'scripts/blink_idl_parser.py', | 305 'scripts/blink_idl_parser.py', |
305 '<(bindings_output_dir)', | 306 '<(bindings_output_dir)', |
306 ], | 307 ], |
307 'message': 'Caching PLY yacc parse tables', | 308 'message': 'Caching PLY lex & yacc lex/parse tables', |
308 }], | 309 }], |
309 }, | 310 }, |
310 ################################################################################ | 311 ################################################################################ |
311 { | 312 { |
312 # A separate pre-caching step is *required* to use bytecode caching in | 313 # A separate pre-caching step is *required* to use bytecode caching in |
313 # Jinja (which improves speed significantly), as the bytecode cache is | 314 # Jinja (which improves speed significantly), as the bytecode cache is |
314 # not concurrency-safe on write; details in code_generator_v8.py. | 315 # not concurrency-safe on write; details in code_generator_v8.py. |
315 'target_name': 'cached_jinja_templates', | 316 'target_name': 'cached_jinja_templates', |
316 'type': 'none', | 317 'type': 'none', |
317 'actions': [{ | 318 'actions': [{ |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 'sources': [ | 350 'sources': [ |
350 '<@(interface_idl_files)', | 351 '<@(interface_idl_files)', |
351 ], | 352 ], |
352 'rules': [{ | 353 'rules': [{ |
353 'rule_name': 'binding', | 354 'rule_name': 'binding', |
354 'extension': 'idl', | 355 'extension': 'idl', |
355 'msvs_external_rule': 1, | 356 'msvs_external_rule': 1, |
356 'inputs': [ | 357 'inputs': [ |
357 '<@(idl_lexer_parser_files)', # to be explicit (covered by parsetab) | 358 '<@(idl_lexer_parser_files)', # to be explicit (covered by parsetab) |
358 '<@(idl_compiler_files)', | 359 '<@(idl_compiler_files)', |
| 360 '<(bindings_output_dir)/lextab.py', |
359 '<(bindings_output_dir)/parsetab.pickle', | 361 '<(bindings_output_dir)/parsetab.pickle', |
360 '<(bindings_output_dir)/cached_jinja_templates.stamp', | 362 '<(bindings_output_dir)/cached_jinja_templates.stamp', |
361 'IDLExtendedAttributes.txt', | 363 'IDLExtendedAttributes.txt', |
362 # If the dependency structure or public interface info (e.g., | 364 # If the dependency structure or public interface info (e.g., |
363 # [ImplementedAs]) changes, we rebuild all files, since we're not | 365 # [ImplementedAs]) changes, we rebuild all files, since we're not |
364 # computing dependencies file-by-file in the build. | 366 # computing dependencies file-by-file in the build. |
365 # This data is generally stable. | 367 # This data is generally stable. |
366 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', | 368 '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle', |
367 # Further, if any dependency (partial interface or implemented | 369 # Further, if any dependency (partial interface or implemented |
368 # interface) changes, rebuild everything, since every IDL potentially | 370 # interface) changes, rebuild everything, since every IDL potentially |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 'type': 'none', | 427 'type': 'none', |
426 'dependencies': [ | 428 'dependencies': [ |
427 'aggregate_generated_bindings', | 429 'aggregate_generated_bindings', |
428 'event_interfaces', | 430 'event_interfaces', |
429 'individual_generated_bindings', | 431 'individual_generated_bindings', |
430 ], | 432 ], |
431 }, | 433 }, |
432 ################################################################################ | 434 ################################################################################ |
433 ], # targets | 435 ], # targets |
434 } | 436 } |
OLD | NEW |