@@ -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"
new file mode 100644
@@ -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
new file mode 100644
@@ -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, ®isterStore + 1)
+ {
@@ -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"
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> --- meta/recipes-qt/qt4/qt-4.8.1.inc | 2 + .../qt4/qt-4.8.1/disable-fuse-gold-flag.patch | 26 ++++++++++++++++ meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch | 31 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- 4 files changed, 60 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch create mode 100644 meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch