qtbase: don't touch STAGING and bypass sstate
authorMartin Jansa <Martin.Jansa@gmail.com>
Thu, 27 Dec 2012 15:40:13 +0000 (16:40 +0100)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:43:44 +0000 (08:43 -0800)
(From meta-qt5 rev: 2b5c531b22703025e67b2f207db91ea178f7ead5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-qt5/recipes-qt/qt5/qt5.inc
meta-qt5/recipes-qt/qt5/qtbase.inc
meta-qt5/recipes-qt/qt5/qtbase/qmake.conf.sh

index 8d5dd81..8ed4c28 100644 (file)
@@ -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
 }
index cda46d5..ec46db1 100644 (file)
@@ -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}
index 5268239..49d9de2 100644 (file)
@@ -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