Index: Source/bindings/bindings.gyp |
diff --git a/Source/bindings/bindings.gyp b/Source/bindings/bindings.gyp |
index d20c7de763d5ff5834c36ef77e7bd6c6087f9644..1f56f426da08fbc03180d688b940ff937da9c967 100644 |
--- a/Source/bindings/bindings.gyp |
+++ b/Source/bindings/bindings.gyp |
@@ -31,262 +31,22 @@ |
{ |
'includes': [ |
'../WebKit/chromium/WinPrecompile.gypi', |
- '../WebKit/chromium/features.gypi', |
- '../core/core.gypi', |
- '../modules/modules.gypi', |
'bindings.gypi', |
], |
- |
- 'variables': { |
- # If set to 1, doesn't compile debug symbols into webcore reducing the |
- # size of the binary and increasing the speed of gdb. gcc only. |
- 'remove_webcore_debug_symbols%': 0, |
- |
- 'bindings_idl_files': [ |
- '<@(webcore_idl_files)', |
- '<@(modules_idl_files)', |
- ], |
- |
- 'bindings_idl_files!': [ |
- # Custom bindings in bindings/v8/custom exist for these. |
- '../core/dom/EventListener.idl', |
- |
- '../core/page/AbstractView.idl', |
- |
- # These bindings are excluded, as they're only used through inheritance and don't define constants that would need a constructor. |
- '../core/svg/ElementTimeControl.idl', |
- '../core/svg/SVGExternalResourcesRequired.idl', |
- '../core/svg/SVGFilterPrimitiveStandardAttributes.idl', |
- '../core/svg/SVGFitToViewBox.idl', |
- '../core/svg/SVGLangSpace.idl', |
- '../core/svg/SVGLocatable.idl', |
- '../core/svg/SVGTests.idl', |
- '../core/svg/SVGTransformable.idl', |
- |
- # FIXME: I don't know why these are excluded, either. |
- # Someone (me?) should figure it out and add appropriate comments. |
- '../core/css/CSSUnknownRule.idl', |
- ], |
- |
- 'conditions': [ |
- ['enable_svg!=0', { |
- 'bindings_idl_files': [ |
- '<@(webcore_svg_idl_files)', |
- ], |
- }], |
- ['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', |
- ], |
- },{ |
- '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', |
- ], |
- }], |
- ], |
- }, |
- |
'target_defaults': { |
'variables': { |
'optimize': 'max', |
}, |
}, |
- |
- 'conditions': [ |
- ['OS!="win" and remove_webcore_debug_symbols==1', { |
- # Remove -g from all targets defined here. |
- 'target_defaults': { |
- 'cflags!': ['-g'], |
- }, |
- }], |
- ['os_posix==1 and OS!="mac" and gcc_version>=46', { |
- 'target_defaults': { |
- # Disable warnings about c++0x compatibility, as some names (such as nullptr) conflict |
- # with upcoming c++0x types. |
- 'cflags_cc': ['-Wno-c++0x-compat'], |
- }, |
- }], |
- ['OS=="linux" and target_arch=="arm"', { |
- # Due to a bug in gcc arm, we get warnings about uninitialized timesNewRoman.unstatic.3258 |
- # and colorTransparent.unstatic.4879. |
- 'target_defaults': { |
- 'cflags': ['-Wno-uninitialized'], |
- }, |
- }], |
- ['clang==1', { |
- 'target_defaults': { |
- 'cflags': ['-Wglobal-constructors', '-Wunused-parameter'], |
- 'xcode_settings': { |
- 'WARNING_CFLAGS': ['-Wglobal-constructors', '-Wunused-parameter'], |
- }, |
- }, |
- }], |
- ], |
'targets': [{ |
- 'target_name': 'supplemental_dependencies', |
- 'type': 'none', |
- 'actions': [{ |
- 'action_name': 'generateSupplementalDependency', |
- 'variables': { |
- # Write sources into a file, so that the action command line won't |
- # exceed OS limits. |
- 'idl_files_list': '<|(idl_files_list.tmp <@(bindings_idl_files))', |
- }, |
- 'inputs': [ |
- 'scripts/preprocess-idls.pl', |
- '<(idl_files_list)', |
- '<!@(cat <(idl_files_list))', |
- ], |
- 'outputs': [ |
- '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
- ], |
- 'msvs_cygwin_shell': 0, |
- 'action': [ |
- '<(perl_exe)', |
- '-w', |
- '-Iscripts', |
- '-I../core/scripts', |
- 'scripts/preprocess-idls.pl', |
- '--defines', |
- '<(feature_defines)', |
- '--idlFilesList', |
- '<(idl_files_list)', |
- '--supplementalDependencyFile', |
- '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
- ], |
- 'message': 'Resolving [Supplemental=XXX] dependencies in all IDL files', |
- }] |
- }, |
- { |
- 'target_name': 'bindings_sources', |
- 'type': 'none', |
- 'hard_dependency': 1, |
- 'dependencies': [ |
- 'supplemental_dependencies', |
- ], |
- 'sources': [ |
- '<@(bindings_idl_files)', |
- '<@(webcore_test_support_idl_files)', |
- ], |
- 'actions': [{ |
- 'action_name': 'derived_sources_all_in_one', |
- 'inputs': [ |
- '../core/core.gyp/scripts/action_derivedsourcesallinone.py', |
- '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
- ], |
- 'outputs': [ |
- '<@(derived_sources_aggregate_files)', |
- ], |
- 'action': [ |
- 'python', |
- '../core/core.gyp/scripts/action_derivedsourcesallinone.py', |
- '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
- '--', |
- '<@(derived_sources_aggregate_files)', |
- ], |
- }], |
- 'rules': [{ |
- 'rule_name': 'binding', |
- 'extension': 'idl', |
- 'msvs_external_rule': 1, |
- 'inputs': [ |
- 'scripts/generate-bindings.pl', |
- 'scripts/CodeGenerator.pm', |
- 'scripts/CodeGeneratorV8.pm', |
- 'scripts/IDLParser.pm', |
- 'scripts/IDLAttributes.txt', |
- '../core/scripts/preprocessor.pm', |
- '<!@pymod_do_main(supplemental_idl_files <@(bindings_idl_files))', |
- ], |
- 'outputs': [ |
- # FIXME: The .cpp file should be in webkit/bindings once |
- # we coax GYP into supporting it (see 'action' below). |
- '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings/V8<(RULE_INPUT_ROOT).cpp', |
- '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings/V8<(RULE_INPUT_ROOT).h', |
- ], |
- 'variables': { |
- 'generator_include_dirs': [ |
- '--include', '../modules/filesystem', |
- '--include', '../modules/indexeddb', |
- '--include', '../modules/mediasource', |
- '--include', '../modules/mediastream', |
- '--include', '../modules/navigatorcontentutils', |
- '--include', '../modules/notifications', |
- '--include', '../modules/webaudio', |
- '--include', '../modules/webdatabase', |
- '--include', '../core/css', |
- '--include', '../core/dom', |
- '--include', '../core/fileapi', |
- '--include', '../core/html', |
- '--include', '../core/page', |
- '--include', '../core/plugins', |
- '--include', '../core/storage', |
- '--include', '../core/svg', |
- '--include', '../core/testing', |
- '--include', '../core/workers', |
- '--include', '../core/xml', |
- '--include', '<(SHARED_INTERMEDIATE_DIR)/webkit', |
- ], |
- }, |
- 'msvs_cygwin_shell': 0, |
- # FIXME: Note that we put the .cpp files in webcore/bindings |
- # but the .h files in webkit/bindings. This is to work around |
- # the unfortunate fact that GYP strips duplicate arguments |
- # from lists. When we have a better GYP way to suppress that |
- # behavior, change the output location. |
- 'action': [ |
- '<(perl_exe)', |
- '-w', |
- '-Iscripts', |
- '-I../core/scripts', |
- '<(bindings_dir)/scripts/generate-bindings.pl', |
- '--outputHeadersDir', |
- '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
- '--outputDir', |
- '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings', |
- '--idlAttributesFile', |
- 'scripts/IDLAttributes.txt', |
- '--defines', |
- '<(feature_defines)', |
- '<@(generator_include_dirs)', |
- '--supplementalDependencyFile', |
- '<(SHARED_INTERMEDIATE_DIR)/supplemental_dependency.tmp', |
- '--additionalIdlFiles', |
- '<(webcore_test_support_idl_files)', |
- '<(RULE_INPUT_PATH)', |
- '<@(preprocessor)', |
- ], |
- 'message': 'Generating binding from <(RULE_INPUT_PATH)', |
- }], |
- }, |
- { |
'target_name': 'bindings', |
'type': 'static_library', |
'hard_dependency': 1, |
'dependencies': [ |
- 'bindings_sources', |
- '../core/core.gyp/core.gyp:webcore_prerequisites', |
- '../yarr/yarr.gyp:yarr', |
+ '../config.gyp:config', |
'../wtf/wtf.gyp:wtf', |
+ '../yarr/yarr.gyp:yarr', |
+ '../core/core.gyp/core.gyp:webcore', |
'<(DEPTH)/build/temp_gyp/googleurl.gyp:googleurl', |
'<(DEPTH)/skia/skia.gyp:skia', |
'<(DEPTH)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg', |
@@ -302,13 +62,10 @@ |
'<(libjpeg_gyp_path):libjpeg', |
], |
'include_dirs': [ |
- '<(INTERMEDIATE_DIR)', |
# FIXME: Remove <(SHARED_INTERMEDIATE_DIR)/webcore when we |
# can entice gyp into letting us put both the .cpp and .h |
# files in the same output directory. |
'<(SHARED_INTERMEDIATE_DIR)/webcore', |
- '<(SHARED_INTERMEDIATE_DIR)/webkit', |
- '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
], |
'xcode_settings': { |
# Some Mac-specific parts of WebKit won't compile without having this |
@@ -316,26 +73,12 @@ |
# FIXME: make this a first-class setting. |
'GCC_PREFIX_HEADER': '../core/WebCorePrefix.h', |
}, |
- 'direct_dependent_settings': { |
- 'include_dirs': [ |
- '<(SHARED_INTERMEDIATE_DIR)/webkit', |
- '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', |
- ], |
- }, |
'sources': [ |
'<@(derived_sources_aggregate_files)', |
'<@(bindings_files)', |
], |
'conditions': [ |
- ['OS=="win" and component=="shared_library"', { |
- 'defines': [ |
- 'USING_V8_SHARED', |
- ], |
- }], |
['OS=="win"', { |
- 'defines': [ |
- '__PRETTY_FUNCTION__=__FUNCTION__', |
- ], |
# This is needed because Event.h in this directory is blocked |
# by a system header on windows. |
'include_dirs++': ['../core/dom'], |