| Index: Source/bindings/derived_sources.gyp
|
| diff --git a/Source/bindings/derived_sources.gyp b/Source/bindings/derived_sources.gyp
|
| index 35d44d8ec3d83c44824fcbeb6846465ce99d549f..aed9de3bd068d281896f493fd74668f18b9aa5f6 100644
|
| --- a/Source/bindings/derived_sources.gyp
|
| +++ b/Source/bindings/derived_sources.gyp
|
| @@ -31,18 +31,28 @@
|
| {
|
| 'includes': [
|
| '../WebKit/chromium/WinPrecompile.gypi',
|
| - '../core/features.gypi',
|
| '../core/core.gypi',
|
| '../modules/modules.gypi',
|
| 'bindings.gypi',
|
| ],
|
|
|
| 'variables': {
|
| - 'idl_files': [
|
| - '<@(core_idl_files)',
|
| - '<@(modules_idl_files)',
|
| - '<@(svg_idl_files)',
|
| + 'deprecated_perl_idl_files': [
|
| + '<@(deprecated_perl_core_idl_files)',
|
| + '<@(deprecated_perl_modules_idl_files)',
|
| + '<@(deprecated_perl_svg_idl_files)',
|
| ],
|
| + 'python_idl_files': [
|
| + '<@(python_core_idl_files)',
|
| + '<@(python_modules_idl_files)',
|
| + '<@(python_svg_idl_files)',
|
| + ],
|
| + 'perl_and_python_idl_files': [
|
| + '<@(deprecated_perl_idl_files)',
|
| + '<@(python_idl_files)',
|
| + ],
|
| +
|
| + 'bindings_output_dir': '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
|
| 'generated_global_constructors_idl_files': [
|
| '<(SHARED_INTERMEDIATE_DIR)/WindowConstructors.idl',
|
| '<(SHARED_INTERMEDIATE_DIR)/WorkerGlobalScopeConstructors.idl',
|
| @@ -54,29 +64,29 @@
|
| ['OS=="win" and buildtype=="Official"', {
|
| # On windows official release builds, we try to preserve symbol space.
|
| 'derived_sources_aggregate_files': [
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSourcesAll.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSourcesAll.cpp',
|
| ],
|
| },{
|
| 'derived_sources_aggregate_files': [
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources01.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources02.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources03.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources04.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources05.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources06.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources07.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources08.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources09.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources10.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources11.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources12.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources13.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources14.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources15.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources16.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources17.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources18.cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8DerivedSources19.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources01.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources02.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources03.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources04.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources05.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources06.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources07.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources08.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources09.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources10.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources11.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources12.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources13.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources14.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources15.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources16.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources17.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources18.cpp',
|
| + '<(bindings_output_dir)/V8DerivedSources19.cpp',
|
| ],
|
| }],
|
| # The bindings generator can not write generated files if they are identical
|
| @@ -107,7 +117,7 @@
|
| 'variables': {
|
| # Write sources into a file, so that the action command line won't
|
| # exceed OS limits.
|
| - 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))',
|
| + 'idl_files_list': '<|(idl_files_list.tmp <@(perl_and_python_idl_files))',
|
| },
|
| 'inputs': [
|
| 'scripts/compute_dependencies.py',
|
| @@ -143,7 +153,7 @@
|
| }]
|
| },
|
| {
|
| - 'target_name': 'bindings_sources',
|
| + 'target_name': 'deprecated_perl_bindings_sources',
|
| 'type': 'none',
|
| # The 'binding' rule generates .h files, so mark as hard_dependency, per:
|
| # https://code.google.com/p/gyp/wiki/InputFormatReference#Linking_Dependencies
|
| @@ -153,18 +163,18 @@
|
| '../core/core_derived_sources.gyp:generate_test_support_idls',
|
| ],
|
| 'sources': [
|
| - '<@(idl_files)',
|
| - '<@(webcore_test_support_idl_files)',
|
| + '<@(deprecated_perl_idl_files)',
|
| + '<@(deprecated_perl_webcore_test_support_idl_files)',
|
| ],
|
| 'rules': [{
|
| - 'rule_name': 'binding',
|
| + 'rule_name': 'deprecated_perl_binding',
|
| 'extension': 'idl',
|
| 'msvs_external_rule': 1,
|
| 'inputs': [
|
| - 'scripts/generate-bindings.pl',
|
| - 'scripts/CodeGeneratorV8.pm',
|
| - 'scripts/IDLParser.pm',
|
| - 'scripts/IDLSerializer.pm',
|
| + 'scripts/deprecated_generate_bindings.pl',
|
| + 'scripts/deprecated_code_generator_v8.pm',
|
| + 'scripts/deprecated_idl_parser.pm',
|
| + 'scripts/deprecated_idl_serializer.pm',
|
| '../core/scripts/preprocessor.pm',
|
| 'scripts/IDLAttributes.txt',
|
| # FIXME: If the dependency structure changes, we rebuild all files,
|
| @@ -176,21 +186,21 @@
|
| #
|
| # If a new partial interface is added, need to regyp to update these
|
| # dependencies, as these are computed statically at gyp runtime.
|
| - '<!@pymod_do_main(list_idl_files_with_partial_interface <@(idl_files))',
|
| + '<!@pymod_do_main(list_idl_files_with_partial_interface <@(perl_and_python_idl_files))',
|
| # Generated IDLs are all partial interfaces, hence everything
|
| # potentially depends on them.
|
| '<@(generated_global_constructors_idl_files)',
|
| ],
|
| 'outputs': [
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).cpp',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h',
|
| + '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).cpp',
|
| + '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).h',
|
| ],
|
| 'variables': {
|
| # IDL include paths. The generator will search recursively for IDL
|
| # files under these locations.
|
| 'generator_include_dirs': [
|
| - '--include', '../modules',
|
| '--include', '../core',
|
| + '--include', '../modules',
|
| '--include', '<(SHARED_INTERMEDIATE_DIR)/webkit',
|
| ],
|
| # Hook for embedders to specify extra directories to find IDL files.
|
| @@ -206,19 +216,17 @@
|
| '-Iscripts',
|
| '-I../core/scripts',
|
| '-I../../../JSON/out/lib/perl5',
|
| - 'scripts/generate-bindings.pl',
|
| + 'scripts/deprecated_generate_bindings.pl',
|
| '--outputDir',
|
| - '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
|
| + '<(bindings_output_dir)',
|
| '--idlAttributesFile',
|
| 'scripts/IDLAttributes.txt',
|
| - '--defines',
|
| - '<(feature_defines)',
|
| '<@(generator_include_dirs)',
|
| '<@(extra_blink_generator_include_dirs)',
|
| '--interfaceDependenciesFile',
|
| '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt',
|
| '--additionalIdlFiles',
|
| - '<(webcore_test_support_idl_files)',
|
| + '<(deprecated_perl_webcore_test_support_idl_files)',
|
| '<@(preprocessor)',
|
| '<@(write_file_only_if_changed)',
|
| '<(RULE_INPUT_PATH)',
|
| @@ -227,11 +235,85 @@
|
| }],
|
| },
|
| {
|
| + 'target_name': 'python_bindings_sources',
|
| + 'type': 'none',
|
| + # The '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': [
|
| + 'interface_dependencies',
|
| + '../core/core_derived_sources.gyp:generate_test_support_idls',
|
| + ],
|
| + 'sources': [
|
| + '<@(python_idl_files)',
|
| + '<@(python_webcore_test_support_idl_files)',
|
| + ],
|
| + 'rules': [{
|
| + 'rule_name': 'python_binding',
|
| + 'extension': 'idl',
|
| + 'msvs_external_rule': 1,
|
| + 'inputs': [
|
| + 'scripts/idl_compiler.py',
|
| + 'scripts/idl_reader.py',
|
| + 'scripts/interface_dependency_resolver.py',
|
| + 'scripts/code_generator_v8.py',
|
| + 'scripts/IDLAttributes.txt',
|
| + # FIXME: If the dependency structure changes, we rebuild all files,
|
| + # since we're not computing dependencies file-by-file in the build.
|
| + '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt',
|
| + # FIXME: Similarly, if any partial interface changes, rebuild
|
| + # everything, since every IDL potentially depends on them, because
|
| + # we're not computing dependencies file-by-file.
|
| + '<!@pymod_do_main(list_idl_files_with_partial_interface <@(perl_and_python_idl_files))',
|
| + # Generated IDLs are all partial interfaces, hence everything
|
| + # potentially depends on them.
|
| + '<@(generated_global_constructors_idl_files)',
|
| + ],
|
| + 'outputs': [
|
| + '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).cpp',
|
| + '<(bindings_output_dir)/V8<(RULE_INPUT_ROOT).h',
|
| + ],
|
| + 'variables': {
|
| + # IDL include paths. The generator will search recursively for IDL
|
| + # files under these locations.
|
| + 'generator_include_dirs': [
|
| + '--include', '../core',
|
| + '--include', '../modules',
|
| + '--include', '<(SHARED_INTERMEDIATE_DIR)/webkit',
|
| + ],
|
| + # Hook for embedders to specify extra directories to find IDL files.
|
| + 'extra_blink_generator_include_dirs%': [],
|
| + },
|
| + 'msvs_cygwin_shell': 0,
|
| + # 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',
|
| + 'scripts/idl_compiler.py',
|
| + '--output-dir',
|
| + '<(bindings_output_dir)',
|
| + '--idl-attributes-file',
|
| + 'scripts/IDLAttributes.txt',
|
| + '<@(generator_include_dirs)',
|
| + '<@(extra_blink_generator_include_dirs)',
|
| + '--interface-dependencies-file',
|
| + '<(SHARED_INTERMEDIATE_DIR)/InterfaceDependencies.txt',
|
| + '--additional-idl-files',
|
| + '<(python_webcore_test_support_idl_files)',
|
| + '<@(write_file_only_if_changed)',
|
| + '<(RULE_INPUT_PATH)',
|
| + ],
|
| + 'message': 'Generating binding from <(RULE_INPUT_PATH)',
|
| + }],
|
| + },
|
| + {
|
| 'target_name': 'bindings_derived_sources',
|
| 'type': 'none',
|
| 'dependencies': [
|
| 'interface_dependencies',
|
| - 'bindings_sources',
|
| + 'deprecated_perl_bindings_sources',
|
| + 'python_bindings_sources',
|
| ],
|
| 'actions': [{
|
| 'action_name': 'derived_sources_all_in_one',
|
|
|