qt4 4.1.2 fix g++ 4.1.1 asm constraints, fix angstrom build
authorMichael Lauer <mickey@vanille-media.de>
Fri, 30 Jun 2006 13:12:25 +0000 (13:12 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Fri, 30 Jun 2006 13:12:25 +0000 (13:12 +0000)
packages/qt/qt4-x11-free-4.1.2/fix-asm-constraints.patch [new file with mode: 0644]
packages/qt/qt4-x11-free_4.1.2.bb

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 (file)
index 0000000..93fc52d
--- /dev/null
@@ -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;
index f769047..9bff5f1 100644 (file)
@@ -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
 }