Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Unified Diff: Source/bindings/bindings.gyp

Issue 14110002: Introduce bindings.gyp (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address Nico's comments Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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'],

Powered by Google App Engine
This is Rietveld 408576698