summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/qt/qt4-x11-free-4.1.2/fix-asm-constraints.patch16
-rw-r--r--packages/qt/qt4-x11-free_4.1.2.bb27
2 files changed, 37 insertions, 6 deletions
diff --git a/packages/qt/qt4-x11-free-4.1.2/fix-asm-constraints.patch b/packages/qt/qt4-x11-free-4.1.2/fix-asm-constraints.patch
new file mode 100644
index 0000000000..93fc52d055
--- /dev/null
+++ b/packages/qt/qt4-x11-free-4.1.2/fix-asm-constraints.patch
@@ -0,0 +1,16 @@
+
+#
+# Signed off by Michael 'Mickey' Lauer <mickey@Vanille.de>
+#
+
+--- qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h~fix-asm-constraints
++++ qt-x11-opensource-src-4.1.2/src/corelib/arch/arm/arch/qatomic.h
+@@ -32,7 +32,7 @@
+ {
+ register int ret;
+ asm volatile("swpb %0,%1,[%2]"
+- : "=r"(ret)
++ : "&=r"(ret)
+ : "r"(newval), "r"(ptr)
+ : "cc", "memory");
+ return ret;
diff --git a/packages/qt/qt4-x11-free_4.1.2.bb b/packages/qt/qt4-x11-free_4.1.2.bb
index f769047d71..9bff5f1c5c 100644
--- a/packages/qt/qt4-x11-free_4.1.2.bb
+++ b/packages/qt/qt4-x11-free_4.1.2.bb
@@ -6,7 +6,7 @@ LICENSE = "GPL QPL"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
DEPENDS = "uicmoc4-native qmake2-native freetype jpeg libx11 xft libxext libxrender libxrandr libxcursor"
PROVIDES = "qt4x11"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz \
file://cross-compile.patch;patch=1 \
@@ -15,7 +15,8 @@ SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-${PV}.tar.gz
file://no-qmake.patch;patch=1 \
file://gcc4_1.patch;patch=1 \
file://configurable-cpu-extensions.patch;patch=1 \
- file://fix-mkspecs.patch;patch=1"
+ file://fix-mkspecs.patch;patch=1 \
+ file://fix-asm-constraints.patch;patch=1"
S = "${WORKDIR}/qt-x11-opensource-src-${PV}"
PARALLEL_MAKE = ""
@@ -24,10 +25,23 @@ inherit qmake-base qt4x11 pkgconfig
export QTDIR = "${S}"
STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4"
-export ARCH = "${TARGET_ARCH}"
-export ARCH_i686 = "x86"
EXTRA_OEMAKE = "-e"
+def qt_arch(d):
+ import bb, re
+ arch = bb.data.getVar('TARGET_ARCH', d, 1)
+ if re.match("^i.86$", arch):
+ arch = "x86"
+ elif re.match("^arm.*", arch):
+ arch = "arm"
+ elif arch == "x86_64":
+ arch = "x86"
+ elif arch == "mipsel":
+ arch = "mips"
+ return arch
+
+QT_ARCH := "${@qt_arch(d)}"
+
# FIXME:
# * add missing options
QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg -no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama \
@@ -46,11 +60,12 @@ do_configure() {
echo "DEFINES -= QT_NO_CAST_TO_ASCII" >>src/qbase.pri
echo "DEFINES += QT_NO_XIM" >>src/qbase.pri
unset QMAKESPEC
- #export QMAKESPEC="linux-oe-g++"
ln -sf ${STAGING_BINDIR}/qmake2 bin/qmake
+ ln -sf ./linux-g++ mkspecs/linux-gnueabi-g++
+ #export QMAKESPEC="linux-oe-g++"
#rm -rf ./mkspecs
#ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs
- echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${ARCH} ${QT_CONFIG_FLAGS} -fast \
+ echo yes | ./configure -prefix / -platform ${TARGET_OS}-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \
-L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql
}