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

Unified Diff: Source/bindings/modules/v8/generated.gyp

Issue 618373003: [bindings] partial interfaces should not violate componentization (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed patch conflict Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/modules/v8/generated.gni ('k') | Source/bindings/modules/v8/generated.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..d09e8a86cca21c22f1dc2bf63920a6e2b82d1726 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',
],
@@ -155,12 +158,136 @@
},
################################################################################
{
+ '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)
+ '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)',
+ '--target-component',
+ 'modules',
+ '<(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)',
+ ],
+ 'outputs': [
+ '<@(bindings_modules_v8_generated_partial_aggregate_files)',
+ ],
+ 'action': [
+ 'python',
+ '<(bindings_scripts_dir)/aggregate_generated_bindings.py',
+ 'modules',
+ '<(core_idl_with_modules_dependency_files_list)',
+ '--',
+ '<@(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)/initPartialInterfacesInModules.cpp',
+ ],
+ 'action': [
+ 'python',
+ '<(bindings_scripts_dir)/generate_init_partial_interfaces.py',
+ '--idl-files-list',
+ '<(core_idl_with_modules_dependency_files_list)',
+ '--output',
+ '<(bindings_modules_v8_output_dir)/initPartialInterfacesInModules.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_init_partial',
+ 'bindings_modules_v8_generated_partial_aggregate',
+ 'bindings_modules_v8_generated_partial_individual',
],
},
################################################################################
« no previous file with comments | « Source/bindings/modules/v8/generated.gni ('k') | Source/bindings/modules/v8/generated.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698