aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2012-12-27 16:40:13 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2013-04-17 16:10:01 +0200
commit2b5c531b22703025e67b2f207db91ea178f7ead5 (patch)
treed83c755b2a31e0201cf3cecab7b34fc5c6c65a0d /recipes-qt
parenteb1ad81906d8a40acb5a6691012d32772318433a (diff)
qtbase: don't touch STAGING and bypass sstate
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt')
-rw-r--r--recipes-qt/qt5/qt5.inc12
-rw-r--r--recipes-qt/qt5/qtbase.inc38
-rw-r--r--recipes-qt/qt5/qtbase/qmake.conf.sh3
3 files changed, 19 insertions, 34 deletions
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index 8d5dd81e..8ed4c288 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -62,6 +62,18 @@ do_configure() {
ln -sf ${OE_QMAKE_QMAKE} bin/qmake
fi
+ if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
+ ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
+ fi
+
+ if [ -f mkspecs/common/g++-unix.conf ] ; then
+ # mkspecs were refactored for 4.8.0
+ cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf
+ else
+ cp -f ${WORKDIR}/g++.conf mkspecs/common/g++.conf
+ fi
+ cp -f ${WORKDIR}/linux.conf mkspecs/common/
+
# Avoid problems with the linkers, since we want the linker to be g++
unset LD
}
diff --git a/recipes-qt/qt5/qtbase.inc b/recipes-qt/qt5/qtbase.inc
index cda46d57..ec46db12 100644
--- a/recipes-qt/qt5/qtbase.inc
+++ b/recipes-qt/qt5/qtbase.inc
@@ -44,35 +44,13 @@ do_configure_append() {
cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf
- ### Stage the base mkspecs so that 'HostData' will find them
- mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME}
- cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/
- ### Make sure that modules are installed correctly. During configure they will pick this one
- ### instead of the one from ${S}/mkspecs...
- sed -i '/pritarget/s/QT_HOST_DATA/OE_CROSS_INSTALL_DATA/' \
- ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/features/qt_installs.prf
- rm -rf ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/modules*
-
### Fix up prl and pkgconfig lib paths, by default they will point to /usr/lib
${OE_QMAKE_QMAKE} -set OE_CROSS_INSTALL_LIBS ${STAGING_LIBDIR}
sed -i 's/QT_INSTALL_LIBS\/raw/OE_CROSS_INSTALL_LIBS/g' mkspecs/features/qt_module.prf
- ### Remove the old pri files
- rm ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*.pri
-
-
- echo "[Paths]" > $QT_CONF_PATH
- echo "Binaries=${bindir}" >> $QT_CONF_PATH
- echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
- echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
- echo "Libraries=${libdir}" >> $QT_CONF_PATH
- echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
- echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
- echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
- echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
- echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
- echo "HostBinaries=${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH
- echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH
+ # in qtbase case we want to find qmodule.pri in ${S}/mkspec
+ # ./features/qt_build_config.prf: QMAKE_QT_MODULE = $$[QT_HOST_DATA/get]/mkspecs/qmodule.pri
+ echo "HostData = ${S}" >> ${QT_CONF_PATH}
./configure -v \
-dont-process \
@@ -92,22 +70,16 @@ do_configure_append() {
-xplatform ${TARGET_OS}-oe-g++ \
${QT_CONFIG_FLAGS}
- ### Since we are pointing our host data we need to get them there before compilation
- if [ ! -e ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then
- cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++
- fi
- ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well
- cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri
- cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri
-
### As we provided the '-dont-process' switch inorder to allow us to stage a few files
### generated by the configure we need to manually run qmake the generate _all_ the Makefiles (-r)
+ export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
${OE_QMAKE_QMAKE} -r -d
}
do_compile_append() {
# Build qmake for the target arch
cd ${S}/qmake
+ export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
${OE_QMAKE_QMAKE}
oe_runmake CC="${CC}" CXX="${CXX}"
cd ${S}
diff --git a/recipes-qt/qt5/qtbase/qmake.conf.sh b/recipes-qt/qt5/qtbase/qmake.conf.sh
index 52682396..49d9de2a 100644
--- a/recipes-qt/qt5/qtbase/qmake.conf.sh
+++ b/recipes-qt/qt5/qtbase/qmake.conf.sh
@@ -34,6 +34,7 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += ${OE_QMAKE_CFLAGS}
QMAKE_CXX = ${OE_QMAKE_CXX}
QMAKE_LINK = ${OE_QMAKE_LINK}
QMAKE_LINK_SHLIB = ${OE_QMAKE_LINK}
+QMAKE_CONF_COMPILER = ${OE_QMAKE_CONF_COMPILER}
load(qt_config)
-EOF \ No newline at end of file
+EOF