[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

kevino at webkit.org kevino at webkit.org
Wed Dec 22 11:42:52 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit df27b2870dbb2579c49c90dbdd8c15f81d168a73
Author: kevino at webkit.org <kevino at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Aug 4 20:26:15 2010 +0000

    [wx] Build fix for gcc not importing all symbols from convenience libraries.
    Works on 10.6 only for Mac until the build system is reworked.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64672 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 0e10acd..10338af 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,13 @@
 2010-08-04  Kevin Ollivier  <kevino at theolliviers.com>
 
+        [wx] Build fix for gcc not importing all symbols from convenience libraries.
+        Works on 10.6 only for Mac until the build system is reworked.
+
+        * bindings/scripts/CodeGeneratorCPP.pm: Add conditionals in impl. to header as well.
+        * wscript: 
+
+2010-08-04  Kevin Ollivier  <kevino at theolliviers.com>
+
         [wx] Build fix. Enclose PlatformStrategy methods in USE(PLATFORM_STRATEGIES).
         
         * platform/LocalizedStrings.cpp:
diff --git a/WebCore/bindings/scripts/CodeGeneratorCPP.pm b/WebCore/bindings/scripts/CodeGeneratorCPP.pm
index 27cf854..1fb88db 100644
--- a/WebCore/bindings/scripts/CodeGeneratorCPP.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorCPP.pm
@@ -421,10 +421,14 @@ sub GenerateHeader
         foreach my $attribute (@{$dataNode->attributes}) {
             next if ShouldSkipTypeInHeader($attribute);
 
+            my $attributeConditionalString = GenerateConditionalString($attribute->signature);
             my $attributeName = $attribute->signature->name;
             my $attributeType = GetCPPType($attribute->signature->type, 0);
             my $attributeIsReadonly = ($attribute->type =~ /^readonly/);
-            my $property = "    " . $attributeType . ($attributeType =~ /\*$/ ? "" : " ") . $attributeName . "() const";
+            my $property = "";
+            
+            $property .= "#if ${attributeConditionalString}\n" if $attributeConditionalString;
+            $property .= "    " . $attributeType . ($attributeType =~ /\*$/ ? "" : " ") . $attributeName . "() const";
 
             my $availabilityMacro = "";
             my $declarationSuffix = ";\n";
@@ -439,10 +443,11 @@ sub GenerateHeader
             if (!$attributeIsReadonly and !$attribute->signature->extendedAttributes->{"Replaceable"}) {
                 $property = "    void $setterName($attributeType)";
                 $property .= $declarationSuffix;
-                push(@headerAttributes, $property);
+                push(@headerAttributes, $property); 
             }
-        }
 
+            push(@headerAttributes, "#endif\n") if $attributeConditionalString;
+        }
         push(@headerContent, @headerAttributes) if @headerAttributes > 0;
     }
 
diff --git a/WebCore/wscript b/WebCore/wscript
index 6882ecd..58886aa 100644
--- a/WebCore/wscript
+++ b/WebCore/wscript
@@ -30,7 +30,7 @@ from settings import *
 webcore_sources = {}
 
 if build_port == "wx":
-    webcore_sources['wx'] = ['platform/KillRingNone.cpp']  
+    webcore_sources['wx'] = ['platform/KillRingNone.cpp', 'bindings/cpp/WebDOMEventTarget.cpp']  
 
     if building_on_win32:
         # make sure platform/wx comes after this so we get the right
@@ -69,7 +69,6 @@ if build_port == "wx":
                'platform/graphics/wx/FontPlatformDataWxMac.mm',
                'platform/text/mac/ShapeArabic.c',
                'platform/wx/wxcode/mac/carbon/fontprops.mm',
-               'plugins/wx/PluginDataWx.cpp',
                'plugins/mac/PluginPackageMac.cpp',
                'plugins/mac/PluginViewMac.mm'
         ]
@@ -137,8 +136,8 @@ def build(bld):
 
     features = [build_port]
     exclude_patterns = ['*AllInOne.cpp', '*Brew.cpp', '*CFNet.cpp', '*Chromium*.cpp', 
-            '*Gtk.cpp', '*Mac.cpp', '*None.cpp', '*Qt.cpp', '*Safari.cpp',
-            'test*bindings.*', '*Wince.cpp', "WebDOMSVG*.cpp"]
+            '*Efl.cpp', '*Gtk.cpp', '*Haiku.cpp', '*Mac.cpp', '*None.cpp', '*Qt.cpp', '*Safari.cpp',
+            'test*bindings.*', '*Wince.cpp', "WebDOMCanvas*.cpp", "WebDOMSVG*.cpp"]
     if build_port == 'wx':
         features.append('curl')
         if not building_on_win32:
@@ -188,13 +187,8 @@ def build(bld):
         excludes = get_excludes(webcore_dir, exclude_patterns)
         excludes.extend(['UserStyleSheetLoader.cpp', 'RenderMediaControls.cpp'])
 
-
-        # FIXME: undo this once these classes are fully implemented
-        excludes.append('SocketStreamErrorBase.cpp')
-        excludes.append('SocketStreamHandleBase.cpp')
-
         # intermediate sources
-        excludes.append('CSSValueKeywords.c')
+        excludes.append('CSSValueKeywords.cpp')
         excludes.append('CSSPropertyNames.cpp')
         excludes.append('tokenizer.cpp')
 
@@ -222,6 +216,8 @@ def build(bld):
         excludes.append('JSSVGTransformable.cpp')
         excludes.append('JSSVGURIReference.cpp')
         
+        # These are C++ DOM Bindings that won't compile because they look for things not in trunk.
+        excludes.append('WebDOMEventTarget.cpp')
         excludes.append('WebDOMAbstractView.cpp')
         excludes.append('WebDOMBlobBuilder.cpp')
         excludes.append('WebDOMDatabaseCallback.cpp')
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 74fd095..189ffb8 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,10 @@
+2010-08-04  Kevin Ollivier  <kevino at theolliviers.com>
+
+        [wx] Build fix for gcc not importing all symbols from convenience libraries.
+        Works on 10.6 only for Mac until the build system is reworked.
+        
+        * bindings/python/webview.i:
+
 2010-08-03  Malcolm MacLeod  <mmacleod at webmail.co.za>
 
         Reviewed by Kevin Ollivier.
diff --git a/WebKit/wx/bindings/python/webview.i b/WebKit/wx/bindings/python/webview.i
index 15b1d93..58961c0 100644
--- a/WebKit/wx/bindings/python/webview.i
+++ b/WebKit/wx/bindings/python/webview.i
@@ -26,6 +26,8 @@
 %module webview
 
 %{
+#include "config.h"
+
 #include "wx/wxPython/wxPython.h"
 #include "wx/wxPython/pyclasses.h"
 #include "WebBrowserShell.h"
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 89e52d1..938c898 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,10 @@
+2010-08-04  Kevin Ollivier  <kevino at theolliviers.com>
+
+        [wx] Build fix for gcc not importing all symbols from convenience libraries.
+        Works on 10.6 only for Mac until the build system is reworked. 
+
+        * wx/build/settings.py:
+
 2010-08-04  Markus Goetz  <Markus.Goetz at nokia.com>
 
         Reviewed by Simon Hausmann.
diff --git a/WebKitTools/wx/build/settings.py b/WebKitTools/wx/build/settings.py
index 2d144f6..be43873 100644
--- a/WebKitTools/wx/build/settings.py
+++ b/WebKitTools/wx/build/settings.py
@@ -303,8 +303,15 @@ def common_configure(conf):
             conf.env['LIB_WX'] = wxlibs
             conf.env['LIBPATH_WX'] = wxlibpaths
 
-    conf.env['LIB_JSCORE'] = [libprefix + 'jscore']
-    conf.env['LIB_WEBCORE'] = [libprefix + 'webcore']
+    if building_on_win32:
+        conf.env['LIB_JSCORE'] = [libprefix + 'jscore']
+        conf.env['LIB_WEBCORE'] = [libprefix + 'webcore']
+    elif sys.platform.startswith('darwin'):
+        conf.env['LINKFLAGS_JSCORE'] = ['-Wl,-force_load,%s' % os.path.join(output_dir, 'libjscore.a')]
+        conf.env['LINKFLAGS_WEBCORE'] = ['-Wl,-force_load,%s' % os.path.join(output_dir, 'libwebcore.a')]
+    else:
+        conf.env['LINKFLAGS_JSCORE'] = ['-Wl,-whole-archive', '-ljscore', '-Wl,-no-whole-archive']
+        conf.env['LINKFLAGS_WEBCORE'] = ['-Wl,-whole-archive', '-lwebcore', '-Wl,-no-whole-archive']
 
     if sys.platform.startswith('darwin'):
         conf.env['LIB_ICU'] = ['icucore']

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list