summaryrefslogtreecommitdiff
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-27 12:20:15 +0100
commitc98d60923b84bcd285644cecaed1fa0455747a2f (patch)
tree0790f723dbcbf6eda13adf3f53602665def24b92
parent04e5102e6d9f2332dd39467c3261d610338358fc (diff)
downloadopenembedded-core-c98d60923b84bcd285644cecaed1fa0455747a2f.tar.gz
openembedded-core-c98d60923b84bcd285644cecaed1fa0455747a2f.tar.bz2
openembedded-core-c98d60923b84bcd285644cecaed1fa0455747a2f.tar.xz
openembedded-core-c98d60923b84bcd285644cecaed1fa0455747a2f.zip
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. 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 cd7840198..b42ca0106 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}.
file://pulseaudio-config.patch \
file://g++.conf \
file://linux.conf \
+ file://gcc47-fix.patch \
+ file://disable-fuse-gold-flag.patch \
"
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 000000000..d49d7bcff
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch
@@ -0,0 +1,26 @@
+Disable the -fuse-ld=gold flag. This option is a Debian/Ubuntu specific
+extension to the g++ and causes upstream GCC to throw an error.
+
+Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
+===================================================================
+--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/webkit/Source/common.pri
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
+@@ -3,12 +3,12 @@
+ contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1
+ contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0
+
+-linux-g++ {
+-isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
+- message(Using gold linker)
+- QMAKE_LFLAGS+=-fuse-ld=gold
+-}
+-}
++#linux-g++ {
++#isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
++# message(Using gold linker)
++# QMAKE_LFLAGS+=-fuse-ld=gold
++#}
++#}
+
+ # We use this flag on production branches
+ # 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 000000000..8252817af
--- /dev/null
+++ b/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch
@@ -0,0 +1,31 @@
+Fix compile error when using toolchains based on GCC 4.7.
+
+Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
+===================================================================
+--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
+@@ -57,9 +57,7 @@ namespace JSC {
+
+ class JSGlobalObject : public JSVariableObject {
+ protected:
+- using JSVariableObject::JSVariableObjectData;
+-
+- struct JSGlobalObjectData : public JSVariableObjectData {
++ struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData {
+ // We use an explicit destructor function pointer instead of a
+ // virtual destructor because we want to avoid adding a vtable
+ // pointer to this struct. Adding a vtable pointer would force the
+Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
+===================================================================
+--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
+@@ -32,8 +32,7 @@ namespace JSC{
+
+ class JSStaticScopeObject : public JSVariableObject {
+ protected:
+- using JSVariableObject::JSVariableObjectData;
+- struct JSStaticScopeObjectData : public JSVariableObjectData {
++ struct JSStaticScopeObjectData : public JSVariableObjectData::JSVariableObjectData {
+ JSStaticScopeObjectData()
+ : JSVariableObjectData(&symbolTable, &registerStore + 1)
+ {
diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc
index 8c15352ff..291e62ad3 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
SECTION = "libs"
HOMEPAGE = "http://qt.nokia.com"
DEPENDS += "directfb tslib"
-INC_PR = "r43"
+INC_PR = "r44"
QT_BASE_LIB ?= "libqt-embedded"