Title: [100746] trunk
Revision
100746
Author
hausm...@webkit.org
Date
2011-11-18 03:41:10 -0800 (Fri, 18 Nov 2011)

Log Message

[Qt] WTR and InjectedBundle should not link statically against JSC/WTF https://bugs.webkit.org/show_bug.cgi?id=72697

Reviewed by Kenneth Rohde Christiansen.

.:

* Source/api.pri: On Linux, use a GNU LD version script to manage the
symbol exports, which includes the public WK1/WK2 API as well as a bunch
of private WTF symbols needed for WTR and the Injected Bundle.
* Source/qtwebkit-export.map: Added.

Tools:

* Tools.pro: Make WTR linux only for the moment.
* WebKitTestRunner/InjectedBundle/Target.pri: Remove static jsc/wtf linkage.
* WebKitTestRunner/Target.pri: Ditto.
* qmake/mkspecs/features/default_post.prf: Don't build the main webkit sources
with ELF visibility on Linux. Instead we're temporarily using an LD version script.

Modified Paths

Added Paths

Diff

Modified: trunk/ChangeLog (100745 => 100746)


--- trunk/ChangeLog	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/ChangeLog	2011-11-18 11:41:10 UTC (rev 100746)
@@ -1,3 +1,15 @@
+2011-11-18  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] WTR and InjectedBundle should not link statically against JSC/WTF
+        https://bugs.webkit.org/show_bug.cgi?id=72697
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        * Source/api.pri: On Linux, use a GNU LD version script to manage the
+        symbol exports, which includes the public WK1/WK2 API as well as a bunch
+        of private WTF symbols needed for WTR and the Injected Bundle.
+        * Source/qtwebkit-export.map: Added.
+
 2011-11-17  Raphael Kubo da Costa  <k...@profusion.mobi>
 
         [EFL] Clean up the use of DATA_DIR in the buildsystem

Modified: trunk/Source/api.pri (100745 => 100746)


--- trunk/Source/api.pri	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Source/api.pri	2011-11-18 11:41:10 UTC (rev 100746)
@@ -218,3 +218,5 @@
     CONFIG *= link_pkgconfig
     PKGCONFIG += x11
 }
+
+linux-g++*: QMAKE_LFLAGS += -Wl,--version-script=$$PWD/qtwebkit-export.map

Added: trunk/Source/qtwebkit-export.map (0 => 100746)


--- trunk/Source/qtwebkit-export.map	                        (rev 0)
+++ trunk/Source/qtwebkit-export.map	2011-11-18 11:41:10 UTC (rev 100746)
@@ -0,0 +1,118 @@
+qwk_1.0 {
+    global:
+    WK*;
+    JSValueToObject;
+    JSObjectGetProperty;
+    JSValueIsObjectOfClass;
+    JSObjectSetProperty;
+    JSValueMakeString;
+    JSValueIsObject;
+    JSStringCreateWithUTF8CString;
+    JSValueToNumber;
+    JSStringRelease;
+    JSValueToStringCopy;
+    JSStringRetain;
+    JSClassRetain;
+    JSObjectGetPrivate;
+    JSObjectMake;
+    JSValueMakeBoolean;
+    JSClassCreate;
+    JSValueMakeNull;
+    JSValueToBoolean;
+    JSValueMakeNumber;
+    JSObjectCallAsFunction;
+    JSValueMakeUndefined;
+    JSClassRelease;
+    JSStringIsEqualToUTF8CString;
+    JSStringGetUTF8CString;
+    JSContextGetGlobalObject;
+    kJSClassDefinitionEmpty;
+    JSValueIsNumber;
+    JSObjectGetPropertyAtIndex;
+    JSValueIsString;
+    JSStringGetLength;
+    JSStringGetCharactersPtr;
+    JSStringCreateWithCharacters;
+    JSValueUnprotect;
+    JSValueProtect;
+    JSEvaluateScript;
+    _WKContextSetAdditionalPluginsDirectory;
+    WTFReportBacktrace;
+    extern "C++" {
+        # WebKit 1 API
+        *QGraphicsWebView;
+        non-virtual?thunk?to?QGraphicsWebView*;
+        QGraphicsWebView::*;
+        *QWebDatabase;
+        non-virtual?thunk?to?QWebDatabase*;
+        QWebDatabase::*;
+        *QWebElement;
+        non-virtual?thunk?to?QWebElement*;
+        QWebElement::*;
+        *QWebElementCollection;
+        non-virtual?thunk?to?QWebElementCollection*;
+        QWebElementCollection::*;
+        *QWebHitTestResult;
+        non-virtual?thunk?to?QWebHitTestResult*;
+        QWebHitTestResult::*;
+        *QWebFrame;
+        non-virtual?thunk?to?QWebFrame*;
+        QWebFrame::*;
+        *QWebPage;
+        non-virtual?thunk?to?QWebPage*;
+        QWebPage::*;
+        *QWebView;
+        non-virtual?thunk?to?QWebView*;
+        QWebView::*;
+        *QWebSettings;
+        non-virtual?thunk?to?QWebSettings*;
+        QWebSettings::*;
+        *QWebInspector;
+        non-virtual?thunk?to?QWebInspector*;
+        QWebInspector::*;
+        *DumpRenderTreeSupportQt;
+        non-virtual?thunk?to?DumpRenderTreeSupportQt*;
+        DumpRenderTreeSupportQt::*;
+        *QWebPluginFactory;
+        non-virtual?thunk?to?QWebPluginFactory*;
+        QWebPluginFactory::*;
+        *QWebHistory;
+        non-virtual?thunk?to?QWebHistory*;
+        QWebHistory::*;
+        *QWebHistoryItem;
+        non-virtual?thunk?to?QWebHistoryItem*;
+        QWebHistoryItem::*;
+        *QWebSecurityOrigin;
+        non-virtual?thunk?to?QWebSecurityOrigin*;
+        QWebSecurityOrigin::*;
+        *QWebHistoryInterface;
+        non-virtual?thunk?to?QWebHistoryInterface*;
+        QWebHistoryInterface::*;
+        qWebKit*Version*;
+        "operator<<(QDataStream&, QWebHistory const&)";
+        "operator>>(QDataStream&, QWebHistory&)";
+
+        # WebKit 2 Helpers
+        WebKit::WebProcessMainQt*;
+        WTF::fastMalloc*;
+        WTF::fastFree*;
+        WTF::fastZeroedMalloc*;
+
+        # WebKit 2 API
+        *QQuickWebView;
+        non-virtual?thunk?to?QQuickWebView*;
+        QQuickWebView::*;
+        *QQuickWebViewPrivate;
+        non-virtual?thunk?to?QQuickWebViewPrivate*;
+        QQuickWebViewPrivate::*;
+        *QQuickWebViewPrivateExtension;
+        non-virtual?thunk?to?QQuickWebViewPrivateExtension*;
+        QQuickWebViewPrivateExtension::*;
+
+        # WebKit 2 C API mangled in C++
+        WKStringCopyQString*;
+        WKStringCreateWithQString*;
+        WKImageCreateQImage*;
+    };
+    local: *;
+};

Modified: trunk/Tools/ChangeLog (100745 => 100746)


--- trunk/Tools/ChangeLog	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Tools/ChangeLog	2011-11-18 11:41:10 UTC (rev 100746)
@@ -1,3 +1,16 @@
+2011-11-18  Simon Hausmann  <simon.hausm...@nokia.com>
+
+        [Qt] WTR and InjectedBundle should not link statically against JSC/WTF
+        https://bugs.webkit.org/show_bug.cgi?id=72697
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        * Tools.pro: Make WTR linux only for the moment.
+        * WebKitTestRunner/InjectedBundle/Target.pri: Remove static jsc/wtf linkage.
+        * WebKitTestRunner/Target.pri: Ditto.
+        * qmake/mkspecs/features/default_post.prf: Don't build the main webkit sources
+        with ELF visibility on Linux. Instead we're temporarily using an LD version script.
+
 2011-11-18  Kenneth Rohde Christiansen  <kenn...@webkit.org>
 
         [Qt] Change default size of the MiniBrowser

Modified: trunk/Tools/Tools.pro (100745 => 100746)


--- trunk/Tools/Tools.pro	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Tools/Tools.pro	2011-11-18 11:41:10 UTC (rev 100746)
@@ -15,7 +15,7 @@
 
 !no_webkit2 {
     SUBDIRS += MiniBrowser/qt/MiniBrowser.pro
-    SUBDIRS += WebKitTestRunner/WebKitTestRunner.pro
+    linux-g++*: SUBDIRS += WebKitTestRunner/WebKitTestRunner.pro
 }
 
 !win32:contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Target.pri (100745 => 100746)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/Target.pri	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Target.pri	2011-11-18 11:41:10 UTC (rev 100746)
@@ -53,9 +53,10 @@
 QT += declarative widgets
 
 load(features)
+load(_javascript_core)
 load(webcore)
 
-CONFIG += plugin _javascript_core qtwebkit
+CONFIG += plugin qtwebkit
 
 INCLUDEPATH += \
     $$PWD/.. \

Modified: trunk/Tools/WebKitTestRunner/Target.pri (100745 => 100746)


--- trunk/Tools/WebKitTestRunner/Target.pri	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Tools/WebKitTestRunner/Target.pri	2011-11-18 11:41:10 UTC (rev 100746)
@@ -28,9 +28,10 @@
 QT = core gui widgets network declarative testlib
 
 load(features)
+load(_javascript_core)
 load(webkit2)
 
-CONFIG += _javascript_core qtwebkit
+CONFIG += qtwebkit
 
 !embedded: PKGCONFIG += fontconfig
 

Modified: trunk/Tools/qmake/mkspecs/features/default_post.prf (100745 => 100746)


--- trunk/Tools/qmake/mkspecs/features/default_post.prf	2011-11-18 11:35:49 UTC (rev 100745)
+++ trunk/Tools/qmake/mkspecs/features/default_post.prf	2011-11-18 11:41:10 UTC (rev 100746)
@@ -131,7 +131,7 @@
     win32-msvc*|win32-icc: INCLUDEPATH += $$ROOT_WEBKIT_DIR/Source/_javascript_Core/os-win32
 
     !plugin {
-        contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+        !linux-g++*:contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
         unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
     }
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to