Chromium Code Reviews| Index: Source/bindings/derived_sources.gyp |
| diff --git a/Source/bindings/derived_sources.gyp b/Source/bindings/derived_sources.gyp |
| index 842bb194ddf909816e01c24ce19008f3a9f983f2..b4c01326caac13206cd9f8dc0484ef4c2df6e370 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', |
|
Nils Barth (inactive)
2013/07/09 08:48:16
Defines have been removed from IDLs, so can remove
|
| '../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/preprocess_idls.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, |
| @@ -173,21 +183,21 @@ |
| # 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(supplemental_idl_files <@(idl_files))', |
| + '<!@pymod_do_main(supplemental_idl_files <@(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. |
| @@ -203,19 +213,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)', |
| '--supplementalDependencyFile', |
| '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
| '--additionalIdlFiles', |
| - '<(webcore_test_support_idl_files)', |
| + '<(deprecated_perl_webcore_test_support_idl_files)', |
| '<@(preprocessor)', |
| '<@(write_file_only_if_changed)', |
| '<(RULE_INPUT_PATH)', |
| @@ -224,11 +232,84 @@ |
| }], |
| }, |
| { |
| + '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': [ |
| + 'supplemental_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/build_ir.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)/supplemental_dependency.tmp', |
|
haraken
2013/07/09 11:16:48
I think this was renamed to InterfaceDependencies.
Nils Barth (inactive)
2013/07/10 02:38:32
Fixed in other CL; I've rebased so it's fixed here
|
| + # 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(supplemental_idl_files <@(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)', |
| + '--supplemental-dependency-file', |
| + '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
| + '--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': [ |
| 'supplemental_dependencies', |
| - 'bindings_sources', |
| + 'deprecated_perl_bindings_sources', |
| + 'python_bindings_sources', |
| ], |
| 'actions': [{ |
| 'action_name': 'derived_sources_all_in_one', |