packages/qmake/qmake2-native.inc: Install the specs only once, add a patch to change...
authorHolger Freyther <zecke@selfish.org>
Tue, 25 Dec 2007 00:27:53 +0000 (00:27 +0000)
committerHolger Freyther <zecke@selfish.org>
Tue, 25 Dec 2007 00:27:53 +0000 (00:27 +0000)
    qmake has built-in paths. When building qmake2-native we have a pretty boring path
    which is certainly wrong for qt/x11 and qt/embedded. So we need a way to change this
    path at runtime. We just need to point qmake to a qt.conf and everything will be fine!

packages/qmake/qmake2-native.inc
packages/qmake/qmake2-native/qt-config.patch [new file with mode: 0644]

index eb4744c..058bf17 100644 (file)
@@ -10,6 +10,7 @@ QTVER = "qtopia-core-opensource-src-${QTVERSION}"
 FILESDIR += "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qmake2-native"
 SRC_URI = "ftp://ftp.trolltech.com/pub/qt/source/${QTVER}.tar.gz \
            file://0001-fix-mkspecs.patch;patch=1 \
+           file://qt-config.patch;patch=1 \
            file://use-lflags-last.patch;patch=1 \
            file://linux-oe-qmake.conf"
 S = "${WORKDIR}/${QTVER}"
@@ -57,10 +58,8 @@ do_compile() {
 do_stage() {
     install -m 0755 bin/qmake ${STAGING_BINDIR}/qmake2
     install -m 0755 bin/qmake ${STAGING_BINDIR}/qmake-qt4
-    install -d ${STAGING_DIR}/${CROSS_SYS}/qt4/
-    cp -PfR mkspecs ${STAGING_DIR}/${CROSS_SYS}/qt4/
-    install -d ${STAGING_DIR}/${HOST_SYS}/qt4/
-    cp -PfR mkspecs ${STAGING_DIR}/${HOST_SYS}/qt4/
+    install -d ${CROSS_DATADIR}/qt4
+    cp -PfR mkspecs ${CROSS_DATADIR}/qt4/
 }
 
 do_install() {
diff --git a/packages/qmake/qmake2-native/qt-config.patch b/packages/qmake/qmake2-native/qt-config.patch
new file mode 100644 (file)
index 0000000..b2d86de
--- /dev/null
@@ -0,0 +1,27 @@
+Allow to set a qt.conf from the outside using the environment. This allows
+to inject new prefixes and other paths into qmake. This is needed when using
+the same qmake binary to build qt/x11 and qt/embedded
+
+Index: qtopia-core-opensource-src-4.3.3/src/corelib/global/qlibraryinfo.cpp
+===================================================================
+--- qtopia-core-opensource-src-4.3.3.orig/src/corelib/global/qlibraryinfo.cpp  2007-12-25 00:55:32.000000000 +0100
++++ qtopia-core-opensource-src-4.3.3/src/corelib/global/qlibraryinfo.cpp       2007-12-25 01:20:18.000000000 +0100
+@@ -42,6 +42,7 @@
+ #include "qpointer.h"
+ #ifdef QT_BUILD_QMAKE
+ extern QString qmake_libraryInfoFile();
++#include <stdlib.h>
+ #else
+ # include "qcoreapplication.h"
+ #endif
+@@ -107,6 +108,10 @@
+ #ifdef QT_BUILD_QMAKE
+     if(!QFile::exists(qtconfig))
+         qtconfig = qmake_libraryInfoFile();
++    if (!QFile::exists(qtconfig)) {
++        QByteArray config = getenv("QT_CONF_PATH");
++        qtconfig = config;
++    }
+ #else
+     if (!QFile::exists(qtconfig) && QCoreApplication::instance()) {
+ #ifdef Q_OS_MAC