Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / bindings / generated_bindings.gyp
index dd9cf36..1107e4f 100644 (file)
 
 {
   'includes': [
-    '../build/scripts/scripts.gypi',
-    '../build/win/precompile.gypi',
-    '../build/scripts/scripts.gypi',
+    'bindings.gypi',
     '../core/core.gypi',
     '../modules/modules.gypi',
-    'bindings.gypi',
   ],
 
   'variables': {
       '<@(core_idl_files)',
       '<@(modules_idl_files)',
     ],
-    # Write list of main IDL files to a file, so that the command line doesn't
+    # Write lists of main IDL files to a file, so that the command lines don't
     # exceed OS length limits.
     'main_interface_idl_files_list': '<|(main_interface_idl_files_list.tmp <@(main_interface_idl_files))',
+    'core_idl_files_list': '<|(core_idl_files_list.tmp <@(core_idl_files))',
+    'modules_idl_files_list': '<|(modules_idl_files_list.tmp <@(modules_idl_files))',
 
     # Static IDL files / Generated IDL files
     # Paths need to be passed separately for static and generated files, as
     ],
 
     'generated_global_constructors_idl_files': [
-      '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
-      '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
+      '<(blink_output_dir)/WindowConstructors.idl',
+      '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.idl',
+      '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
+      '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
     ],
 
     'generated_global_constructors_header_files': [
-      '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.h',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.h',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.h',
-      '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.h',
-      '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.h',
+      '<(blink_output_dir)/WindowConstructors.h',
+      '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.h',
+      '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.h',
+      '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.h',
     ],
 
 
       'templates/interface.h',
       'templates/methods.cpp',
     ],
-
-
-    'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/blink/bindings',
-
-    'conditions': [
-      # The bindings generator can skip writing generated files if they are
-      # identical to the already existing file, which avoids recompilation.
-      # However, a dependency (earlier build step) having a newer timestamp than
-      # an output (later build step) confuses some build systems, so only use
-      # this on ninja, which explicitly supports this use case (gyp turns all
-      # actions into ninja restat rules).
-      ['"<(GENERATOR)"=="ninja"', {
-        'write_file_only_if_changed': '--write-file-only-if-changed 1',
-      }, {
-        'write_file_only_if_changed': '--write-file-only-if-changed 0',
-      }],
-    ],
   },
 
   'targets': [
         'scripts/generate_global_constructors.py',
         '--idl-files-list',
         '<(main_interface_idl_files_list)',
-        '<@(write_file_only_if_changed)',
+        '--write-file-only-if-changed',
+        '<(write_file_only_if_changed)',
         '--',
         'Window',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/WindowConstructors.idl',
-        'WorkerGlobalScope',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/WorkerGlobalScopeConstructors.idl',
+        '<(blink_output_dir)/WindowConstructors.idl',
         'SharedWorkerGlobalScope',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/SharedWorkerGlobalScopeConstructors.idl',
+        '<(blink_output_dir)/SharedWorkerGlobalScopeConstructors.idl',
         'DedicatedWorkerGlobalScope',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/DedicatedWorkerGlobalScopeConstructors.idl',
+        '<(blink_output_dir)/DedicatedWorkerGlobalScopeConstructors.idl',
         'ServiceWorkerGlobalScope',
-        '<(SHARED_INTERMEDIATE_DIR)/ServiceWorkerGlobalScopeConstructors.idl',
+        '<(blink_output_dir)/ServiceWorkerGlobalScopeConstructors.idl',
        ],
        'message': 'Generating IDL files for constructors on global objects',
       }]
         '<@(generated_idl_files)',
       ],
       'outputs': [
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
+        '<(blink_output_dir)/InterfacesInfo.pickle',
       ],
       'action': [
         'python',
         '--idl-files-list',
         '<(static_idl_files_list)',
         '--interfaces-info-file',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
-        '<@(write_file_only_if_changed)',
+        '<(blink_output_dir)/InterfacesInfo.pickle',
+        '--write-file-only-if-changed',
+        '<(write_file_only_if_changed)',
         '--',
         # Generated files must be passed at command line
         '<@(generated_idl_files)',
   },
 ################################################################################
   {
-    'target_name': 'event_interfaces',
-    'type': 'none',
-    'dependencies': [
-      'interfaces_info',
-    ],
-    'actions': [{
-      'action_name': 'generate_event_interfaces',
-      'inputs': [
-        'scripts/generate_event_interfaces.py',
-        'scripts/utilities.py',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
-      ],
-      'outputs': [
-        '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
-      ],
-      'action': [
-        'python',
-        'scripts/generate_event_interfaces.py',
-        '--interfaces-info-file',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
-        '--event-interfaces-file',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/EventInterfaces.in',
-        '<@(write_file_only_if_changed)',
-      ],
-      'message': 'Generating list of Event interfaces',
-      }]
-  },
-################################################################################
-  {
     # A separate pre-caching step is *not required* to use lex/parse table
     # caching in PLY, as the caches are concurrency-safe.
     # However, pre-caching ensures that all compiler processes use the cached
     # files (hence maximizing speed), instead of early processes building the
     # tables themselves (as they've not yet been written when they start).
-    'target_name': 'cached_yacc_tables',
+    'target_name': 'cached_lex_yacc_tables',
     'type': 'none',
     'actions': [{
-      'action_name': 'cache_yacc_tables',
+      'action_name': 'cache_lex_yacc_tables',
       'inputs': [
         '<@(idl_lexer_parser_files)',
       ],
     'hard_dependency': 1,
     'dependencies': [
       'interfaces_info',
-      'cached_yacc_tables',
+      'cached_lex_yacc_tables',
       'cached_jinja_templates',
       '../core/core_generated.gyp:generated_testing_idls',
     ],
         # [ImplementedAs]) changes, we rebuild all files, since we're not
         # computing dependencies file-by-file in the build.
         # This data is generally stable.
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
+        '<(blink_output_dir)/InterfacesInfo.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
         'scripts/idl_compiler.py',
         '--output-dir',
         '<(bindings_output_dir)',
-        '--idl-attributes-file',
-        'IDLExtendedAttributes.txt',
         '--interfaces-info',
-        '<(SHARED_INTERMEDIATE_DIR)/blink/InterfacesInfo.pickle',
-        '<@(write_file_only_if_changed)',
+        '<(blink_output_dir)/InterfacesInfo.pickle',
+        '--write-file-only-if-changed',
+        '<(write_file_only_if_changed)',
         '<(RULE_INPUT_PATH)',
       ],
       'message': 'Generating binding from <(RULE_INPUT_PATH)',
   },
 ################################################################################
   {
-    'target_name': 'aggregate_generated_bindings',
+    'target_name': 'bindings_core_generated_aggregate',
     'type': 'none',
     'actions': [{
-      'action_name': 'generate_aggregate_generated_bindings',
+      'action_name': 'generate_aggregate_bindings_core',
       'inputs': [
         'scripts/aggregate_generated_bindings.py',
-        # Only includes main IDL files (exclude dependencies and testing,
-        # for which bindings are not included in aggregate bindings).
-        '<(main_interface_idl_files_list)',
+        '<(core_idl_files_list)',
       ],
       'outputs': [
-        '<@(aggregate_generated_bindings_files)',
+        '<@(bindings_core_generated_aggregate_files)',
       ],
       'action': [
         'python',
         'scripts/aggregate_generated_bindings.py',
-        '<(main_interface_idl_files_list)',
+        '<(core_idl_files_list)',
+        '--',
+        '<@(bindings_core_generated_aggregate_files)',
+      ],
+      'message': 'Generating aggregate generated core bindings files',
+    }],
+  },
+################################################################################
+  {
+    'target_name': 'bindings_modules_generated_aggregate',
+    'type': 'none',
+    'actions': [{
+      'action_name': 'generate_aggregate_bindings_modules',
+      'inputs': [
+        'scripts/aggregate_generated_bindings.py',
+        '<(modules_idl_files_list)',
+      ],
+      'outputs': [
+        '<@(bindings_modules_generated_aggregate_files)',
+      ],
+      'action': [
+        'python',
+        'scripts/aggregate_generated_bindings.py',
+        '<(modules_idl_files_list)',
         '--',
-        '<@(aggregate_generated_bindings_files)',
+        '<@(bindings_modules_generated_aggregate_files)',
       ],
-      'message': 'Generating aggregate generated bindings files',
+      'message': 'Generating aggregate generated modules bindings files',
     }],
   },
 ################################################################################
     'target_name': 'generated_bindings',
     'type': 'none',
     'dependencies': [
-      'aggregate_generated_bindings',
-      'event_interfaces',
+      'bindings_core_generated_aggregate',
+      'bindings_modules_generated_aggregate',
       'individual_generated_bindings',
     ],
   },