summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Werner <ken.werner@linaro.org>2012-04-27 12:59:17 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-04-30 11:37:28 +0100
commit69dc3c384ff91d1a5983b39a33fde23a8e711c5a (patch)
tree668c16cf4d2064c066603f6a439be3b92012384b
parente3bafe8ae13e61817ef5f5f095c7a7b9ab920c11 (diff)
downloadpoky-69dc3c384ff91d1a5983b39a33fde23a8e711c5a.tar.gz
Qt 4.8 GCC 4.7 fixes
This change introduces two new patches to Qt 4.8. One prevents the build system from using the -fuse-ld=gold GCC flag as this isn't upstream and therefore not supported by many toolchains out there. The second patch fixes a compile time error when using toolchains based on GCC 4.7. (From OE-Core rev: c98d60923b84bcd285644cecaed1fa0455747a2f) Signed-off-by: Ken Werner <ken.werner@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-qt/qt4/qt-4.8.1.inc2
-rw-r--r--meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch26
-rw-r--r--meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch31
-rw-r--r--meta/recipes-qt/qt4/qt4-embedded.inc2
4 files changed, 60 insertions, 1 deletions
diff --git a/meta/recipes-qt/qt4/qt-4.8.1.inc b/meta/recipes-qt/qt4/qt-4.8.1.inc
index cd78401989..b42ca0106e 100644
--- a/meta/recipes-qt/qt4/qt-4.8.1.inc
+++ b/meta/recipes-qt/qt4/qt-4.8.1.inc
@@ -20,6 +20,8 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.
20 file://pulseaudio-config.patch \ 20 file://pulseaudio-config.patch \
21 file://g++.conf \ 21 file://g++.conf \
22 file://linux.conf \ 22 file://linux.conf \
23 file://gcc47-fix.patch \
24 file://disable-fuse-gold-flag.patch \
23 " 25 "
24 26
25SRC_URI[md5sum] = "7960ba8e18ca31f0c6e4895a312f92ff" 27SRC_URI[md5sum] = "7960ba8e18ca31f0c6e4895a312f92ff"
diff --git a/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch b/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch
new file mode 100644
index 0000000000..d49d7bcff2
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch
@@ -0,0 +1,26 @@
1Disable the -fuse-ld=gold flag. This option is a Debian/Ubuntu specific
2extension to the g++ and causes upstream GCC to throw an error.
3
4Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
5===================================================================
6--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/webkit/Source/common.pri
7+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
8@@ -3,12 +3,12 @@
9 contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1
10 contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0
11
12-linux-g++ {
13-isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
14- message(Using gold linker)
15- QMAKE_LFLAGS+=-fuse-ld=gold
16-}
17-}
18+#linux-g++ {
19+#isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
20+# message(Using gold linker)
21+# QMAKE_LFLAGS+=-fuse-ld=gold
22+#}
23+#}
24
25 # We use this flag on production branches
26 # See https://bugs.webkit.org/show_bug.cgi?id=60824
diff --git a/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch b/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch
new file mode 100644
index 0000000000..8252817af1
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch
@@ -0,0 +1,31 @@
1Fix compile error when using toolchains based on GCC 4.7.
2
3Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
4===================================================================
5--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
6+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
7@@ -57,9 +57,7 @@ namespace JSC {
8
9 class JSGlobalObject : public JSVariableObject {
10 protected:
11- using JSVariableObject::JSVariableObjectData;
12-
13- struct JSGlobalObjectData : public JSVariableObjectData {
14+ struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData {
15 // We use an explicit destructor function pointer instead of a
16 // virtual destructor because we want to avoid adding a vtable
17 // pointer to this struct. Adding a vtable pointer would force the
18Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
19===================================================================
20--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
21+++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
22@@ -32,8 +32,7 @@ namespace JSC{
23
24 class JSStaticScopeObject : public JSVariableObject {
25 protected:
26- using JSVariableObject::JSVariableObjectData;
27- struct JSStaticScopeObjectData : public JSVariableObjectData {
28+ struct JSStaticScopeObjectData : public JSVariableObjectData::JSVariableObjectData {
29 JSStaticScopeObjectData()
30 : JSVariableObjectData(&symbolTable, &registerStore + 1)
31 {
diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc
index 8c15352ff9..291e62ad3f 100644
--- a/meta/recipes-qt/qt4/qt4-embedded.inc
+++ b/meta/recipes-qt/qt4/qt4-embedded.inc
@@ -2,7 +2,7 @@ DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is
2SECTION = "libs" 2SECTION = "libs"
3HOMEPAGE = "http://qt.nokia.com" 3HOMEPAGE = "http://qt.nokia.com"
4DEPENDS += "directfb tslib" 4DEPENDS += "directfb tslib"
5INC_PR = "r43" 5INC_PR = "r44"
6 6
7QT_BASE_LIB ?= "libqt-embedded" 7QT_BASE_LIB ?= "libqt-embedded"
8 8