Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / modules / v8 / generated.gyp
index 20858b5..9d34684 100644 (file)
@@ -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',
   ],
@@ -48,7 +51,7 @@
         # [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',
+        '<(bindings_modules_output_dir)/InterfacesInfoOverall.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
@@ -72,7 +75,7 @@
         '--output-dir',
         '<(bindings_modules_v8_output_dir)',
         '--interfaces-info',
-        '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
+        '<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
         '--write-file-only-if-changed',
         '<(write_file_only_if_changed)',
         '<(RULE_INPUT_PATH)',
   },
 ################################################################################
   {
-    # GN version: //third_party/WebKit/Source/bindings/modules/v8:bindings_modules_dictionary_impl_generated
+    # GN version: //third_party/WebKit/Source/bindings/modules/v8:bindings_modules_impl_generated
     # http://crbug.com/358074; See comments on
     # 'bindings_core_v8_generated_individual' target
-    'target_name': 'bindings_modules_dictionary_impl_generated',
+    'target_name': 'bindings_modules_impl_generated',
     'type': 'none',
     'hard_dependency': 1,
     'dependencies': [
       '<(bindings_scripts_dir)/scripts.gyp:cached_jinja_templates',
       '<(bindings_scripts_dir)/scripts.gyp:cached_lex_yacc_tables',
       '../../modules/generated.gyp:interfaces_info',
+      '../../modules/generated.gyp:interfaces_info_individual_modules',
     ],
     'sources': [
       '<@(modules_dictionary_idl_files)',
     ],
     'actions': [{
       'action_name': 'idl_dictionary',
-      # See comment on bindings_core_dictionary_impl_generated
+      # See comment on bindings_core_impl_generated
       'explicit_idl_action': 1,
       'msvs_cygwin_shell': 0,
       'inputs': [
         '<@(idl_cache_files)',
         '<@(idl_compiler_files)',
         '<(bindings_dir)/IDLExtendedAttributes.txt',
-        '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
+        '<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
+        '<(bindings_modules_output_dir)/ComponentInfoModules.pickle',
       ],
       'outputs': [
+        '<@(bindings_modules_v8_generated_union_type_files)',
         '<@(generated_modules_dictionary_files)',
       ],
       'action': [
         '--cache-dir',
         '<(bindings_scripts_output_dir)',
         '--output-dir',
+        '<(bindings_modules_v8_output_dir)',
+        '--impl-output-dir',
         '<(SHARED_INTERMEDIATE_DIR)/blink/',
         '--interfaces-info',
-        '<(bindings_modules_output_dir)/InterfacesInfoModules.pickle',
+        '<(bindings_modules_output_dir)/InterfacesInfoOverall.pickle',
+        '--component-info',
+        '<(bindings_modules_output_dir)/ComponentInfoModules.pickle',
+        '--target-component',
+        'modules',
         '--write-file-only-if-changed',
         '<(write_file_only_if_changed)',
-        '--generate-dictionary-impl',
+        '--generate-impl',
         '<(modules_dictionary_idl_files_list)',
       ],
       'message': 'Generating modules IDL dictionary impl classes',
   },
 ################################################################################
   {
+    '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)/InterfacesInfoOverall.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',
+        '<(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)/InterfacesInfoOverall.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)/InterfacesInfoOverall.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_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',
     ],
   },
 ################################################################################