qtbase: don't touch STAGING and bypass sstate
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
parent
eb1ad81906
commit
2b5c531b22
|
@ -62,6 +62,18 @@ do_configure() {
|
||||||
ln -sf ${OE_QMAKE_QMAKE} bin/qmake
|
ln -sf ${OE_QMAKE_QMAKE} bin/qmake
|
||||||
fi
|
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++
|
# Avoid problems with the linkers, since we want the linker to be g++
|
||||||
unset LD
|
unset LD
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,35 +44,13 @@ do_configure_append() {
|
||||||
cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
|
cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
|
||||||
bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf
|
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
|
### 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}
|
${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
|
sed -i 's/QT_INSTALL_LIBS\/raw/OE_CROSS_INSTALL_LIBS/g' mkspecs/features/qt_module.prf
|
||||||
|
|
||||||
### Remove the old pri files
|
# in qtbase case we want to find qmodule.pri in ${S}/mkspec
|
||||||
rm ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*.pri
|
# ./features/qt_build_config.prf: QMAKE_QT_MODULE = $$[QT_HOST_DATA/get]/mkspecs/qmodule.pri
|
||||||
|
echo "HostData = ${S}" >> ${QT_CONF_PATH}
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
./configure -v \
|
./configure -v \
|
||||||
-dont-process \
|
-dont-process \
|
||||||
|
@ -92,22 +70,16 @@ do_configure_append() {
|
||||||
-xplatform ${TARGET_OS}-oe-g++ \
|
-xplatform ${TARGET_OS}-oe-g++ \
|
||||||
${QT_CONFIG_FLAGS}
|
${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
|
### 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)
|
### 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
|
${OE_QMAKE_QMAKE} -r -d
|
||||||
}
|
}
|
||||||
|
|
||||||
do_compile_append() {
|
do_compile_append() {
|
||||||
# Build qmake for the target arch
|
# Build qmake for the target arch
|
||||||
cd ${S}/qmake
|
cd ${S}/qmake
|
||||||
|
export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
|
||||||
${OE_QMAKE_QMAKE}
|
${OE_QMAKE_QMAKE}
|
||||||
oe_runmake CC="${CC}" CXX="${CXX}"
|
oe_runmake CC="${CC}" CXX="${CXX}"
|
||||||
cd ${S}
|
cd ${S}
|
||||||
|
|
|
@ -34,6 +34,7 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += ${OE_QMAKE_CFLAGS}
|
||||||
QMAKE_CXX = ${OE_QMAKE_CXX}
|
QMAKE_CXX = ${OE_QMAKE_CXX}
|
||||||
QMAKE_LINK = ${OE_QMAKE_LINK}
|
QMAKE_LINK = ${OE_QMAKE_LINK}
|
||||||
QMAKE_LINK_SHLIB = ${OE_QMAKE_LINK}
|
QMAKE_LINK_SHLIB = ${OE_QMAKE_LINK}
|
||||||
|
QMAKE_CONF_COMPILER = ${OE_QMAKE_CONF_COMPILER}
|
||||||
|
|
||||||
load(qt_config)
|
load(qt_config)
|
||||||
EOF
|
EOF
|
||||||
|
|
Loading…
Reference in New Issue