summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorModestas Vainius <modax@debian.org>2012-05-12 19:14:41 +0300
committerModestas Vainius <modax@debian.org>2012-05-12 20:57:32 +0300
commit15d6f20e40b2fc6f2d8af73d4afe7eb3e3538929 (patch)
tree1ecae26739ff3d30ab95c86ffa66f40456a7569e
parent5801cfd6078f1eb9580424b1efaa0c6990e7f68d (diff)
downloadqtwebkit-15d6f20e40b2fc6f2d8af73d4afe7eb3e3538929.tar.gz
Build Source/WebCore/generated/* with hidden visibility as well
This reduces a symbol file a lot and brings it back to manageable state (patch webkit_qt_hide_symbols.diff).
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/webkit_qt_hide_symbols.diff39
3 files changed, 43 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index f000413..ef167f4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,8 @@
qtwebkit (2.2.1-3) UNRELEASED; urgency=low
+ * Build Source/WebCore/generated/* with hidden visibility as well (patch
+ webkit_qt_hide_symbols.diff). This reduces a symbol file a lot and brings
+ it back to manageable state.
-- Modestas Vainius <modax@debian.org> Sat, 12 May 2012 17:59:50 +0300
diff --git a/debian/patches/series b/debian/patches/series
index c4442fc..bc59db0 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -15,3 +15,4 @@ no_gc_sections.diff
defines_qt_webkit.diff
glibc_hurd_mkspecs.diff
hurd.diff
+webkit_qt_hide_symbols.diff
diff --git a/debian/patches/webkit_qt_hide_symbols.diff b/debian/patches/webkit_qt_hide_symbols.diff
new file mode 100644
index 0000000..7395428
--- /dev/null
+++ b/debian/patches/webkit_qt_hide_symbols.diff
@@ -0,0 +1,39 @@
+From: Modestas Vainius <modax@debian.org>
+SUbject: Make hide_symbols to cover all QtWebKit portions
+Origin: vendor
+Last-Update: 2012-05-12
+Forwarded: no
+
+Almost everything in Source/WebCore/generated was not build with
+-fvisibility=hidden resulting into redundantly polluted and huge dynamic symbol
+list in libQtWebKit.so.
+
+Therefore, move +hide_symbols configuration parameter upwards in order for it
+to cover everything including the offending Source/WebCore/CodeGenerators.pri
+
+--- a/Source/WebKit/qt/QtWebKit.pro
++++ b/Source/WebKit/qt/QtWebKit.pro
+@@ -15,6 +15,11 @@ else: CONFIG_DIR = release
+
+ SOURCE_DIR = $$replace(PWD, /WebKit/qt, "")
+
++CONFIG(release):!CONFIG(standalone_package) {
++ contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
++ unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
++}
++
+ include($$PWD/Api/headers.pri)
+ include($$SOURCE_DIR/WebKit.pri)
+ include($$SOURCE_DIR/JavaScriptCore/JavaScriptCore.pri)
+@@ -66,11 +71,6 @@ defineTest(addExtraCompiler) {
+
+ include($$SOURCE_DIR/WebCore/CodeGenerators.pri)
+
+-CONFIG(release):!CONFIG(standalone_package) {
+- contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+- unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
+-}
+-
+ CONFIG(QTDIR_build) {
+ include($$QT_SOURCE_TREE/src/qbase.pri)
+ # The following lines are to prevent qmake from adding the jscore, webcore and webkit2 libs to libQtWebKit's prl dependencies.