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!
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}"
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() {
--- /dev/null
+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