{
'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',
],
},