[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75

eric at webkit.org eric at webkit.org
Thu Oct 29 20:46:14 UTC 2009


The following commit has been merged in the webkit-1.1 branch:
commit 63e5922d83fccab0a33700cbf97506c29a99106b
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Oct 16 20:37:41 2009 +0000

    2009-10-16  Steven Knight  <sgk at chromium.org>
    
            Reviewed by David Levin.
    
            https://bugs.webkit.org/show_bug.cgi?id=30447
            Handle long link lines by building .idl-generated bindings in a
            separate webcore_bindings library target.  Avoid Visual Studio
            dependency issues by building additional generated .cpp and .h files
            in a separate webcore_bindings_sources target.
    
            Chrome should still build and test successfully.
    
            * WebCore.gyp/WebCore.gyp:
            * WebCore.gypi:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49693 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 44c93c5..7a4c29a 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2009-10-16  Steven Knight  <sgk at chromium.org>
+
+        Reviewed by David Levin.
+
+        https://bugs.webkit.org/show_bug.cgi?id=30447
+        Handle long link lines by building .idl-generated bindings in a
+        separate webcore_bindings library target.  Avoid Visual Studio
+        dependency issues by building additional generated .cpp and .h files
+        in a separate webcore_bindings_sources target.
+
+        Chrome should still build and test successfully.
+
+        * WebCore.gyp/WebCore.gyp:
+        * WebCore.gypi:
+
 2009-10-16  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Eric Carlson.
diff --git a/WebCore/WebCore.gyp/WebCore.gyp b/WebCore/WebCore.gyp/WebCore.gyp
index 4a0c540..f5db3ee 100644
--- a/WebCore/WebCore.gyp/WebCore.gyp
+++ b/WebCore/WebCore.gyp/WebCore.gyp
@@ -142,23 +142,66 @@
   },
   'targets': [
     {
-      'target_name': 'webcore',
-      'type': '<(library)',
-      'msvs_guid': '1C16337B-ACF3-4D03-AA90-851C5B5EADA6',
-      'dependencies': [
-        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:pcre',
-        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
-        '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
-        '<(chromium_src_dir)/skia/skia.gyp:skia',
-        '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
-        '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
-        '<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
-        '<(chromium_src_dir)/third_party/libxslt/libxslt.gyp:libxslt',
-        '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
-        '<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
+      'target_name': 'webcore_bindings_sources',
+      'type': 'none',
+      'hard_dependency': 1,
+      'sources': [
+        # bison rule
+        '../css/CSSGrammar.y',
+        '../xml/XPathGrammar.y',
+
+        # gperf rule
+        '../html/DocTypeStrings.gperf',
+        '../html/HTMLEntityNames.gperf',
+        '../platform/ColorData.gperf',
+
+        # idl rule
+        '<@(webcore_bindings_idl_files)',
       ],
-      'defines': [
-        'WEBCORE_NAVIGATOR_VENDOR="Google Inc."', 
+      'sources/': [
+        # SVG_FILTERS only.
+        ['exclude', 'svg/SVG(FE|Filter)[^/]*\\.idl$'],
+
+      ],
+      'sources!': [
+        # Custom bindings in bindings/v8/custom exist for these.
+        '../dom/EventListener.idl',
+        '../dom/EventTarget.idl',
+        '../html/VoidCallback.idl',
+
+        # JSC-only.
+        '../inspector/JavaScriptCallFrame.idl',
+
+        # ENABLE_GEOLOCATION only.
+        '../page/Geolocation.idl',
+        '../page/Geoposition.idl',
+        '../page/PositionCallback.idl',
+        '../page/PositionError.idl',
+        '../page/PositionErrorCallback.idl',
+
+        # Bindings with custom Objective-C implementations.
+        '../page/AbstractView.idl',
+
+        # FIXME: I don't know why all of these are excluded.
+        # Extra SVG bindings to exclude.
+        '../svg/ElementTimeControl.idl',
+        '../svg/SVGAnimatedPathData.idl',
+        '../svg/SVGComponentTransferFunctionElement.idl',
+        '../svg/SVGExternalResourcesRequired.idl',
+        '../svg/SVGFitToViewBox.idl',
+        '../svg/SVGHKernElement.idl',
+        '../svg/SVGLangSpace.idl',
+        '../svg/SVGLocatable.idl',
+        '../svg/SVGStylable.idl',
+        '../svg/SVGTests.idl',
+        '../svg/SVGTransformable.idl',
+        '../svg/SVGViewSpec.idl',
+        '../svg/SVGZoomAndPan.idl',
+
+        # FIXME: I don't know why these are excluded, either.
+        # Someone (me?) should figure it out and add appropriate comments.
+        '../css/CSSUnknownRule.idl',
+
       ],
       'actions': [
         # Actions to build derived sources.
@@ -170,10 +213,16 @@
             '../css/SVGCSSPropertyNames.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/CSSPropertyNames.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSPropertyNames.cpp',
             '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSPropertyNames.h',
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_csspropertynames.py', '<@(_outputs)', '--', '<@(_inputs)'],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_csspropertynames.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)'
+          ],
         },
         {
           'action_name': 'CSSValueKeywords',
@@ -183,10 +232,16 @@
             '../css/SVGCSSValueKeywords.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/CSSValueKeywords.c',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSValueKeywords.c',
             '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSValueKeywords.h',
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_cssvaluekeywords.py', '<@(_outputs)', '--', '<@(_inputs)'],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_cssvaluekeywords.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)'
+          ],
         },
         {
           'action_name': 'HTMLNames',
@@ -196,15 +251,23 @@
             '../html/HTMLAttributeNames.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/HTMLNames.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/HTMLNames.cpp',
             '<(SHARED_INTERMEDIATE_DIR)/webkit/HTMLNames.h',
-            '<(INTERMEDIATE_DIR)/HTMLElementFactory.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/HTMLElementFactory.cpp',
             # Pass --wrapperFactory to make_names to get these (JSC build?)
-            #'<(INTERMEDIATE_DIR)/JSHTMLElementWrapperFactory.cpp',
-            #'<(INTERMEDIATE_DIR)/JSHTMLElementWrapperFactory.h',
+            #'<(SHARED_INTERMEDIATE_DIR)/webkit/JSHTMLElementWrapperFactory.cpp',
+            #'<(SHARED_INTERMEDIATE_DIR)/webkit/JSHTMLElementWrapperFactory.h',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_makenames.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)',
+            '--',
+            '--factory',
+            '--extraDefines', '<(feature_defines)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_makenames.py', '<@(_outputs)', '--', '<@(_inputs)', '--', '--factory', '--extraDefines', '<(feature_defines)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'action_name': 'SVGNames',
@@ -214,16 +277,24 @@
             '../svg/svgattrs.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/SVGNames.cpp',
-            '<(INTERMEDIATE_DIR)/SVGNames.h',
-            '<(INTERMEDIATE_DIR)/SVGElementFactory.cpp',
-            '<(INTERMEDIATE_DIR)/SVGElementFactory.h',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGNames.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGNames.h',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGElementFactory.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGElementFactory.h',
             # Pass --wrapperFactory to make_names to get these (JSC build?)
-            #'<(INTERMEDIATE_DIR)/JSSVGElementWrapperFactory.cpp',
-            #'<(INTERMEDIATE_DIR)/JSSVGElementWrapperFactory.h',
+            #'<(SHARED_INTERMEDIATE_DIR)/webkit/JSSVGElementWrapperFactory.cpp',
+            #'<(SHARED_INTERMEDIATE_DIR)/webkit/JSSVGElementWrapperFactory.h',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_makenames.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)',
+            '--',
+            '--factory',
+            '--extraDefines', '<(feature_defines)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_makenames.py', '<@(_outputs)', '--', '<@(_inputs)', '--', '--factory', '--extraDefines', '<(feature_defines)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'action_name': 'UserAgentStyleSheets',
@@ -240,11 +311,16 @@
             '../css/mediaControlsChromium.css',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/UserAgentStyleSheets.h',
-            '<(INTERMEDIATE_DIR)/UserAgentStyleSheetsData.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/UserAgentStyleSheets.h',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/UserAgentStyleSheetsData.cpp',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_useragentstylesheets.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_useragentstylesheets.py', '<@(_outputs)', '--', '<@(_inputs)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'action_name': 'XLinkNames',
@@ -253,11 +329,18 @@
             '../svg/xlinkattrs.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/XLinkNames.cpp',
-            '<(INTERMEDIATE_DIR)/XLinkNames.h',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/XLinkNames.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/XLinkNames.h',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_makenames.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)',
+            '--',
+            '--extraDefines', '<(feature_defines)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_makenames.py', '<@(_outputs)', '--', '<@(_inputs)', '--', '--extraDefines', '<(feature_defines)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'action_name': 'XMLNames',
@@ -266,11 +349,18 @@
             '../xml/xmlattrs.in',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/XMLNames.cpp',
-            '<(INTERMEDIATE_DIR)/XMLNames.h',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/XMLNames.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/XMLNames.h',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_makenames.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)',
+            '--',
+            '--extraDefines', '<(feature_defines)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_makenames.py', '<@(_outputs)', '--', '<@(_inputs)', '--', '--extraDefines', '<(feature_defines)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'action_name': 'tokenizer',
@@ -279,9 +369,15 @@
             '../css/tokenizer.flex',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/tokenizer.cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/tokenizer.cpp',
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/action_maketokenizer.py',
+            '<@(_outputs)',
+            '--',
+            '<@(_inputs)'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/action_maketokenizer.py', '<@(_outputs)', '--', '<@(_inputs)'],
         },
       ],
       'rules': [
@@ -290,11 +386,15 @@
           'rule_name': 'bison',
           'extension': 'y',
           'outputs': [
-            '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).cpp',
-            '<(INTERMEDIATE_DIR)/<(RULE_INPUT_ROOT).h'
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/<(RULE_INPUT_ROOT).cpp',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/<(RULE_INPUT_ROOT).h'
+          ],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/rule_bison.py',
+            '<(RULE_INPUT_PATH)',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit'
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/rule_bison.py', '<(RULE_INPUT_PATH)', '<(INTERMEDIATE_DIR)'],
-          'process_outputs_as_sources': 1,
         },
         {
           'rule_name': 'gperf',
@@ -312,7 +412,12 @@
             '<(SHARED_INTERMEDIATE_DIR)/webkit/<(RULE_INPUT_ROOT).c',
             '<(SHARED_INTERMEDIATE_DIR)/webkit/<(RULE_INPUT_ROOT).cpp',
           ],
-          'action': ['python', '<(chromium_src_dir)/webkit/build/rule_gperf.py', '<(RULE_INPUT_PATH)', '<(SHARED_INTERMEDIATE_DIR)/webkit'],
+          'action': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/rule_gperf.py',
+            '<(RULE_INPUT_PATH)',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit'
+          ],
           'process_outputs_as_sources': 0,
         },
         # Rule to build generated JavaScript (V8) bindings from .idl source.
@@ -328,7 +433,9 @@
             '../bindings/scripts/IDLStructure.pm',
           ],
           'outputs': [
-            '<(INTERMEDIATE_DIR)/bindings/V8<(RULE_INPUT_ROOT).cpp',
+            # 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': {
@@ -345,32 +452,139 @@
               '--include', '../xml',
             ],
           },
-          'action': ['python', '<(chromium_src_dir)/webkit/build/rule_binding.py', '<(RULE_INPUT_PATH)', '<(INTERMEDIATE_DIR)/bindings', '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings', '--', '<@(_inputs)', '--', '--defines', '<(feature_defines) LANGUAGE_JAVASCRIPT V8_BINDING', '--generator', 'V8', '<@(generator_include_dirs)'],
-          # They are included by DerivedSourcesAllInOne.cpp instead.
-          'process_outputs_as_sources': 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': [
+            'python',
+            '<(chromium_src_dir)/webkit/build/rule_binding.py',
+            '<(RULE_INPUT_PATH)',
+            '<(SHARED_INTERMEDIATE_DIR)/webcore/bindings',
+            '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
+            '--',
+            '<@(_inputs)',
+            '--',
+            '--defines', '<(feature_defines) LANGUAGE_JAVASCRIPT V8_BINDING',
+            '--generator', 'V8',
+            '<@(generator_include_dirs)'
+          ],
           'message': 'Generating binding from <(RULE_INPUT_PATH)',
         },
       ],
+    },
+    {
+      'target_name': 'webcore_bindings',
+      'type': '<(library)',
+      'hard_dependency': 1,
+      'dependencies': [
+        'webcore_bindings_sources',
+        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:pcre',
+        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
+        '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
+        '<(chromium_src_dir)/skia/skia.gyp:skia',
+        '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
+        '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
+        '<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
+        '<(chromium_src_dir)/third_party/libxslt/libxslt.gyp:libxslt',
+        '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
+        '<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
+      ],
       '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',
         '<@(webcore_include_dirs)',
       ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '<(SHARED_INTERMEDIATE_DIR)/webkit',
+          '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
+        ],
+      },
       'sources': [
-        # bison rule
-        '../css/CSSGrammar.y',
-        '../xml/XPathGrammar.y',
-
-        # gperf rule
-        '../html/DocTypeStrings.gperf',
-        '../html/HTMLEntityNames.gperf',
-        '../platform/ColorData.gperf',
-
         # This file includes all the .cpp files generated from the .idl files
         # in webcore_files.
         '../bindings/v8/DerivedSourcesAllInOne.cpp',
 
+        # Additional .cpp files from webcore_bindings_sources actions.
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/HTMLElementFactory.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/HTMLNames.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGElementFactory.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/SVGNames.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/UserAgentStyleSheetsData.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/XLinkNames.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/XMLNames.cpp',
+
+        # Additional .cpp files from the webcore_bindings_sources rules.
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/CSSGrammar.cpp',
+        '<(SHARED_INTERMEDIATE_DIR)/webkit/XPathGrammar.cpp',
+      ],
+      'conditions': [
+        ['javascript_engine=="v8"', {
+          'dependencies': [
+            '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
+          ],
+        }],
+        ['OS=="mac"', {
+          'include_dirs': [
+            '../../WebKitLibraries',
+          ],
+        }],
+        ['OS=="win"', {
+          'dependencies': [
+            '<(chromium_src_dir)/build/win/system.gyp:cygwin'
+          ],
+          'defines': [
+            'WEBCORE_NAVIGATOR_PLATFORM="Win32"',
+            '__PRETTY_FUNCTION__=__FUNCTION__',
+          ],
+          # This is needed because Event.h in this directory is blocked
+          # by a system header on windows.
+          'include_dirs++': ['../dom'],
+          'direct_dependent_settings': {
+            'include_dirs+++': ['../dom'],
+          },
+        }],
+        ['OS!="win" and remove_webcore_debug_symbols==1', {
+          'configurations': {
+            'Debug': {
+              'cflags!': ['-g'],
+            }
+          },
+        }],
+      ],
+    },
+    {
+      'target_name': 'webcore',
+      'type': '<(library)',
+      'msvs_guid': '1C16337B-ACF3-4D03-AA90-851C5B5EADA6',
+      'dependencies': [
+        'webcore_bindings',
+        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:pcre',
+        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
+        '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
+        '<(chromium_src_dir)/skia/skia.gyp:skia',
+        '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
+        '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
+        '<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
+        '<(chromium_src_dir)/third_party/libxslt/libxslt.gyp:libxslt',
+        '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
+        '<(chromium_src_dir)/third_party/sqlite/sqlite.gyp:sqlite',
+      ],
+      'defines': [
+        'WEBCORE_NAVIGATOR_VENDOR="Google Inc."', 
+      ],
+      'include_dirs': [
+        '<(INTERMEDIATE_DIR)',
+        '<@(webcore_include_dirs)',
+      ],
+      'sources': [
         '<@(webcore_files)',
 
         # For WebCoreSystemInterface, Mac-only.
@@ -380,9 +594,6 @@
         # Exclude JSC custom bindings.
         ['exclude', 'bindings/js'],
 
-        # SVG_FILTERS only.
-        ['exclude', 'svg/SVG(FE|Filter)[^/]*\\.idl$'],
-
         # Fortunately, many things can be excluded by using broad patterns.
 
         # Exclude things that don't apply to the Chromium platform on the basis
@@ -397,7 +608,7 @@
         # ENABLE_OFFLINE_WEB_APPLICATIONS, exclude most of webcore's impl
         ['exclude', 'loader/appcache/'],
         ['include', 'loader/appcache/ApplicationCacheHost\.h$'],
-        ['include', 'loader/appcache/DOMApplicationCache\.(h|cpp|idl)$'],
+        ['include', 'loader/appcache/DOMApplicationCache\.(h|cpp)$'],
 
         # SVG_FILTERS only.
         ['exclude', '(platform|svg)/graphics/filters/'],
@@ -408,44 +619,6 @@
         ['exclude', 'platform/sql/SQLiteFileSystem.cpp'],
       ],
       'sources!': [
-        # Custom bindings in bindings/v8/custom exist for these.
-        '../dom/EventListener.idl',
-        '../dom/EventTarget.idl',
-        '../html/VoidCallback.idl',
-
-        # JSC-only.
-        '../inspector/JavaScriptCallFrame.idl',
-
-        # ENABLE_GEOLOCATION only.
-        '../page/Geolocation.idl',
-        '../page/Geoposition.idl',
-        '../page/PositionCallback.idl',
-        '../page/PositionError.idl',
-        '../page/PositionErrorCallback.idl',
-
-        # Bindings with custom Objective-C implementations.
-        '../page/AbstractView.idl',
-
-        # FIXME: I don't know why all of these are excluded.
-        # Extra SVG bindings to exclude.
-        '../svg/ElementTimeControl.idl',
-        '../svg/SVGAnimatedPathData.idl',
-        '../svg/SVGComponentTransferFunctionElement.idl',
-        '../svg/SVGExternalResourcesRequired.idl',
-        '../svg/SVGFitToViewBox.idl',
-        '../svg/SVGHKernElement.idl',
-        '../svg/SVGLangSpace.idl',
-        '../svg/SVGLocatable.idl',
-        '../svg/SVGStylable.idl',
-        '../svg/SVGTests.idl',
-        '../svg/SVGTransformable.idl',
-        '../svg/SVGViewSpec.idl',
-        '../svg/SVGZoomAndPan.idl',
-
-        # FIXME: I don't know why these are excluded, either.
-        # Someone (me?) should figure it out and add appropriate comments.
-        '../css/CSSUnknownRule.idl',
-
         # A few things can't be excluded by patterns.  List them individually.
 
         # Don't build StorageNamespace.  We have our own implementation.
@@ -500,8 +673,6 @@
       ],
       'direct_dependent_settings': {
         'include_dirs': [
-          '<(SHARED_INTERMEDIATE_DIR)/webkit',
-          '<(SHARED_INTERMEDIATE_DIR)/webkit/bindings',
           '<@(webcore_include_dirs)',
         ],
         'mac_framework_dirs': [
@@ -509,6 +680,7 @@
         ],
       },
       'export_dependent_settings': [
+        'webcore_bindings',
         '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
         '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
         '<(chromium_src_dir)/skia/skia.gyp:skia',
@@ -753,7 +925,9 @@
           },
         }],
         ['OS=="win"', {
-          'dependencies': ['<(chromium_src_dir)/build/win/system.gyp:cygwin'],
+          'dependencies': [
+            '<(chromium_src_dir)/build/win/system.gyp:cygwin'
+          ],
           'sources/': [
             ['exclude', 'Posix\\.cpp$'],
             ['include', '/opentype/'],
@@ -772,8 +946,12 @@
             'include_dirs+++': ['../dom'],
           },
         }],
-        ['OS!="linux" and OS!="freebsd"', {'sources/': [['exclude', '(Gtk|Linux)\\.cpp$']]}],
-        ['OS!="mac"', {'sources/': [['exclude', 'Mac\\.(cpp|mm?)$']]}],
+        ['OS!="linux" and OS!="freebsd"', {
+          'sources/': [['exclude', '(Gtk|Linux)\\.cpp$']]
+        }],
+        ['OS!="mac"', {
+          'sources/': [['exclude', 'Mac\\.(cpp|mm?)$']]
+        }],
         ['OS!="win"', {
           'sources/': [
             ['exclude', 'Win\\.cpp$'],
diff --git a/WebCore/WebCore.gypi b/WebCore/WebCore.gypi
index 99d3391..82417ba 100644
--- a/WebCore/WebCore.gypi
+++ b/WebCore/WebCore.gypi
@@ -1,6 +1,6 @@
 {
     'variables': {
-        'webcore_files': [
+        'webcore_bindings_idl_files': [
 
             #IDL files
             'css/CSSCharsetRule.idl',
@@ -374,6 +374,8 @@
             'xml/XPathNSResolver.idl',
             'xml/XPathResult.idl',
             'xml/XSLTProcessor.idl',
+        ],
+        'webcore_files': [
 
             # Source/Header Files
             'accessibility/AXObjectCache.cpp',

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list