Chromium Code Reviews| Index: Source/bindings/modules/v8/generated.gyp |
| diff --git a/Source/bindings/modules/v8/generated.gyp b/Source/bindings/modules/v8/generated.gyp |
| index 20858b57e6c9350fdf25ed7ea1f5a5067749260c..cb4dbd339b249ad5c542b39926ac2bec279ceaac 100644 |
| --- a/Source/bindings/modules/v8/generated.gyp |
| +++ b/Source/bindings/modules/v8/generated.gyp |
| @@ -13,6 +13,9 @@ |
| '../../../bindings/modules/idl.gypi', |
| '../../../bindings/modules/modules.gypi', |
| '../../../bindings/scripts/scripts.gypi', |
| + # Need to know core idl files list to generate parital interfaces |
| + # defined in modules. |
| + '../../../core/core.gypi', |
| '../../../modules/modules.gypi', |
| 'generated.gypi', |
| ], |
| @@ -96,9 +99,10 @@ |
| 'action': [ |
| 'python', |
| '<(bindings_scripts_dir)/aggregate_generated_bindings.py', |
| + '--component-dir', |
| 'modules', |
| + '--idl-files-list', |
| '<(modules_idl_files_list)', |
| - '--', |
| '<@(bindings_modules_v8_generated_aggregate_files)', |
| ], |
| 'message': 'Generating aggregate generated modules V8 bindings files', |
| @@ -155,12 +159,147 @@ |
| }, |
| ################################################################################ |
| { |
| + 'target_name': 'bindings_modules_v8_generated_partial_individual', |
| + 'type': 'none', |
| + # The 'partial_binding' rule generates .h files, so mark as hard_dependency, per: |
| + # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependencies |
| + 'hard_dependency': 1, |
| + 'dependencies': [ |
| + '../../core/generated.gyp:core_global_constructors_idls', |
| + '../generated.gyp:modules_global_constructors_idls', |
| + '../generated.gyp:interfaces_info', |
| + '<(bindings_scripts_dir)/scripts.gyp:cached_jinja_templates', |
| + '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables', |
| + ], |
| + # We need to generate partial interface code for normal modules and also for testing. |
| + # i.e. parital interface Internals. |
| + 'sources': [ |
| + '<@(core_idl_with_modules_dependency_files)', |
| + '<@(webcore_testing_idl_with_modules_dependency_files)', |
| + ], |
| + 'rules': [{ |
| + 'rule_name': 'partial_binding', |
| + 'extension': 'idl', |
| + 'msvs_external_rule': 1, |
| + 'inputs': [ |
| + '<@(idl_lexer_parser_files)', # to be explicit (covered by parsetab) |
| + '<@(idl_compiler_files)', |
| + '<(bindings_scripts_output_dir)/lextab.py', |
| + '<(bindings_scripts_output_dir)/parsetab.pickle', |
| + '<(bindings_scripts_output_dir)/cached_jinja_templates.stamp', |
| + '<(bindings_dir)/IDLExtendedAttributes.txt', |
| + # If the dependency structure or public interface info (e.g., |
| + # [ImplementedAs]) changes, we rebuild all files, since we're not |
| + # computing dependencies file-by-file in the build. |
| + # This data is generally stable. |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + # Further, if any dependency (partial interface or implemented |
| + # interface) changes, rebuild everything, since every IDL potentially |
| + # depends on them, because we're not computing dependencies |
| + # file-by-file. |
| + # FIXME: This is too conservative, and causes excess rebuilds: |
| + # compute this file-by-file. http://crbug.com/341748 |
| + '<@(all_dependency_idl_files)', |
| + '<@(webcore_testing_idl_files)', |
| + ], |
| + 'outputs': [ |
| + '<(bindings_modules_v8_output_dir)/V8<(RULE_INPUT_ROOT)Partial.cpp', |
| + '<(bindings_modules_v8_output_dir)/V8<(RULE_INPUT_ROOT)Partial.h', |
| + ], |
| + # sanitize-win-build-log.sed uses a regex which matches this command |
| + # line (Python script + .idl file being processed). |
| + # Update that regex if command line changes (other than changing flags) |
|
bashi
2014/10/10 09:48:11
I'm not sure, but you might need to take a look at
tasak
2014/10/10 11:43:40
Done.
|
| + 'action': [ |
| + 'python', |
| + '-S', # skip 'import site' to speed up startup |
| + '<(bindings_scripts_dir)/idl_compiler.py', |
| + '--cache-dir', |
| + '<(bindings_scripts_output_dir)', |
| + '--output-dir', |
| + '<(bindings_modules_v8_output_dir)', |
| + '--interfaces-info', |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + '--write-file-only-if-changed', |
| + '<(write_file_only_if_changed)', |
| + '--generate-partial', |
| + '<(RULE_INPUT_PATH)', |
| + ], |
| + 'message': 'Generating partial binding from <(RULE_INPUT_PATH)', |
| + }], |
| + }, |
| +################################################################################ |
| + { |
| + 'target_name': 'bindings_modules_v8_generated_partial_aggregate', |
| + 'type': 'none', |
| + 'actions': [{ |
| + 'action_name': 'generate_aggregate_bindings_modules_v8_partial', |
| + 'inputs': [ |
| + '<(bindings_scripts_dir)/aggregate_generated_bindings.py', |
| + '<(core_idl_with_modules_dependency_files_list)', |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + ], |
| + 'outputs': [ |
| + '<@(bindings_modules_v8_generated_partial_aggregate_files)', |
| + ], |
| + 'action': [ |
| + 'python', |
| + '<(bindings_scripts_dir)/aggregate_generated_bindings.py', |
| + '--component-dir', |
| + 'modules', |
| + '--idl-files-list', |
| + '<(core_idl_with_modules_dependency_files_list)', |
| + '--partial', |
| + '1', |
|
bashi
2014/10/10 09:48:11
It's difficult to understand what '1' means here.
tasak
2014/10/10 11:43:40
Done.
|
| + '--cache-dir', |
| + '<(bindings_scripts_output_dir)', |
| + '--interfaces-info', |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + '<@(bindings_modules_v8_generated_partial_aggregate_files)', |
| + ], |
| + 'message': 'Generating aggregate generated modules V8 partial bindings files', |
| + }], |
| + }, |
| +################################################################################ |
| + { |
| + 'target_name': 'bindings_modules_v8_generated_init_partial', |
| + 'type': 'none', |
| + 'actions': [{ |
| + 'action_name': 'generate_bindings_modules_v8_init_partial', |
| + 'inputs': [ |
| + '<(bindings_scripts_dir)/generate_init_partial_interfaces.py', |
| + '<(core_idl_with_modules_dependency_files_list)', |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + ], |
| + 'outputs': [ |
| + '<(bindings_modules_v8_output_dir)/InitModulesForPartialInterfaces.cpp', |
| + ], |
| + 'action': [ |
| + 'python', |
| + '<(bindings_scripts_dir)/generate_init_partial_interfaces.py', |
| + '--idl-files-list', |
| + '<(core_idl_with_modules_dependency_files_list)', |
| + '--interfaces-info', |
| + '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle', |
| + '--cache-directory', |
| + '<(bindings_scripts_output_dir)', |
| + '--output', |
| + '<(bindings_modules_v8_output_dir)/InitModulesForPartialInterfaces.cpp', |
| + '--write-file-only-if-changed', |
| + '<(write_file_only_if_changed)', |
| + ], |
| + }], |
| + }, |
| +################################################################################ |
| + { |
| 'target_name': 'bindings_modules_v8_generated', |
| 'type': 'none', |
| 'dependencies': [ |
| 'bindings_modules_dictionary_impl_generated', |
| 'bindings_modules_v8_generated_aggregate', |
| 'bindings_modules_v8_generated_individual', |
| + 'bindings_modules_v8_generated_partial_aggregate', |
| + 'bindings_modules_v8_generated_partial_individual', |
| + 'bindings_modules_v8_generated_init_partial', |
|
bashi
2014/10/10 09:48:11
nit: alphabetical order
tasak
2014/10/10 11:43:40
Done.
|
| ], |
| }, |
| ################################################################################ |