diff options
author | Ken Werner <ken.werner@linaro.org> | 2012-04-27 12:59:17 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-04-30 11:37:28 +0100 |
commit | 69dc3c384ff91d1a5983b39a33fde23a8e711c5a (patch) | |
tree | 668c16cf4d2064c066603f6a439be3b92012384b | |
parent | e3bafe8ae13e61817ef5f5f095c7a7b9ab920c11 (diff) | |
download | poky-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.inc | 2 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch | 26 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch | 31 | ||||
-rw-r--r-- | meta/recipes-qt/qt4/qt4-embedded.inc | 2 |
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 | ||
25 | SRC_URI[md5sum] = "7960ba8e18ca31f0c6e4895a312f92ff" | 27 | SRC_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 @@ | |||
1 | Disable the -fuse-ld=gold flag. This option is a Debian/Ubuntu specific | ||
2 | extension to the g++ and causes upstream GCC to throw an error. | ||
3 | |||
4 | Index: 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 @@ | |||
1 | Fix compile error when using toolchains based on GCC 4.7. | ||
2 | |||
3 | Index: 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 | ||
18 | Index: 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, ®isterStore + 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 | |||
2 | SECTION = "libs" | 2 | SECTION = "libs" |
3 | HOMEPAGE = "http://qt.nokia.com" | 3 | HOMEPAGE = "http://qt.nokia.com" |
4 | DEPENDS += "directfb tslib" | 4 | DEPENDS += "directfb tslib" |
5 | INC_PR = "r43" | 5 | INC_PR = "r44" |
6 | 6 | ||
7 | QT_BASE_LIB ?= "libqt-embedded" | 7 | QT_BASE_LIB ?= "libqt-embedded" |
8 | 8 | ||