From 70b1b233b20c4128cd068c35244c1a97934edf1d Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Wed, 27 Feb 2013 21:26:09 +0100 Subject: [PATCH] qt5-native, qtjsbackend-native: fix .pri and .prl pointing to WORKDIR or absolute sysroot * fix paralel build * default make does good job, cleans mkspecs, installs all headers and libs needed for qtjsbackend-native * move native tools to QT_DIR_NAME prefix, this way qt4 and qt5 can be staged at the same time * only variables referencing WORKDIR are now QMAKE_PRL_BUILD_DIR ./x86_64-linux/usr/lib/libQt5Network.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/network/ ./x86_64-linux/usr/lib/libQt5Xml.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/xml/ ./x86_64-linux/usr/lib/libQt5Bootstrap.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/tools/bootstrap/ ./x86_64-linux/usr/lib/libQt5Concurrent.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/concurrent/ ./x86_64-linux/usr/lib/libQt5Core.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/corelib/ ./x86_64-linux/usr/lib/libQt5Test.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/testlib/ ./x86_64-linux/usr/lib/libQt5Sql.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/sql/ ./x86_64-linux/usr/lib/libQt5DBus.prl:QMAKE_PRL_BUILD_DIR = /OE/oe-core/tmp-eglibc/work/x86_64-linux/qt5-native/5.0.1-r0.0/qtbase-opensource-src-5.0.1/src/dbus/ Signed-off-by: Martin Jansa --- classes/qmake5.bbclass | 5 --- classes/qmake5_base.bbclass | 58 +++++++++++++++++---------- recipes-qt/qt5/qt5.inc | 10 +---- recipes-qt/qt5/qtbase-native.inc | 31 +++++++++----- recipes-qt/qt5/qtbase.inc | 2 +- recipes-qt/qt5/qtjsbackend-native.inc | 29 ++------------ 6 files changed, 63 insertions(+), 72 deletions(-) diff --git a/classes/qmake5.bbclass b/classes/qmake5.bbclass index 00d6c0eaec..68c19f7fa4 100644 --- a/classes/qmake5.bbclass +++ b/classes/qmake5.bbclass @@ -6,11 +6,6 @@ inherit qmake5_base QT5TOOLSDEPENDS ?= "qtbase-native " DEPENDS_prepend = "${QT5TOOLSDEPENDS}" -export QMAKESPEC = "${STAGING_DATADIR}/qt5/mkspecs/${TARGET_OS}-oe-g++" -export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic" -export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc" -export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc" -export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake" export OE_QMAKE_LINK = "${CXX}" export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt5" diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass index ee5ff7800b..b92799674a 100644 --- a/classes/qmake5_base.bbclass +++ b/classes/qmake5_base.bbclass @@ -1,35 +1,51 @@ +QMAKE_MKSPEC_PATH ?= "${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs" +OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++" +QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}" -# We override this completely to eliminate the -e normally passed in -EXTRA_OEMAKE = ' MAKEFLAGS= ' +EXTRA_OEMAKE = ' MAKEFLAGS=${PARALLEL_MAKE} ' -export OE_QMAKE_CC="${CC}" -export OE_QMAKE_CFLAGS="${CFLAGS}" -export OE_QMAKE_CXX="${CXX}" -export OE_QMAKE_LDFLAGS="${LDFLAGS}" -export OE_QMAKE_AR="${AR} cqs" -export OE_QMAKE_STRIP="echo" -export OE_QMAKE_RPATH="-Wl,-rpath-link," +EXTRA_ENV = 'QMAKE="${OE_QMAKE_QMAKE} -d -after \ + INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \ + LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \ + AR="${TARGET_PREFIX}ar cqs" \ + MOC="${OE_QMAKE_MOC}" \ + UIC="${OE_QMAKE_UIC}" \ + RCC="${OE_QMAKE_RCC}" \ + MAKE="make -e ${PARALLEL_MAKE}"' + +export QMAKESPEC = "${QMAKE_MKSPEC_PATH}/${TARGET_OS}-oe-g++" +export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake" +export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/uic" +export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/moc" +export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/rcc" +export OE_QMAKE_CC = "${CC}" +export OE_QMAKE_CFLAGS = "${CFLAGS}" +export OE_QMAKE_CXX = "${CXX}" +export OE_QMAKE_LDFLAGS = "${LDFLAGS}" +export OE_QMAKE_AR = "${AR} cqs" +export OE_QMAKE_STRIP = "echo" +export OE_QMAKE_RPATH = "-Wl,-rpath-link," +export OE_QMAKE_CONF_COMPILER = "g++" +export QT_CONF_PATH = "${WORKDIR}/qt.conf" +export QT_DIR_NAME ?= "qt5" # do not export STRIP to the environment STRIP[unexport] = "1" do_generate_qt_config_file() { - - export QT_CONF_PATH=${WORKDIR}/qt.conf cat > ${WORKDIR}/qt.conf <> $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_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 \ diff --git a/recipes-qt/qt5/qtjsbackend-native.inc b/recipes-qt/qt5/qtjsbackend-native.inc index 37e2b80d9e..56bb854c11 100644 --- a/recipes-qt/qt5/qtjsbackend-native.inc +++ b/recipes-qt/qt5/qtjsbackend-native.inc @@ -7,44 +7,21 @@ QT_MODULE = "qtjsbackend" INC_PR = "r0" -inherit native +inherit native qmake5_base SRC_URI += "\ - file://module_qmake.conf \ file://0001-Install-the-mkv8snapshot-tool-to-the-native-side.patch \ " # Bitbake will not respect the make order set by qmake and at times it will try to compile # parts of the source tree with out the 'mkv8snapshot' tool if it is enabled and that will fail -PARALLEL_MAKE = "" - -export QT_CONF_PATH="${WORKDIR}/qt.conf" +#PARALLEL_MAKE = "" do_configure() { # Avoid setting QMAKE_LINK from LD (since we want the linker to be g++) unset LD - cat > ${WORKDIR}/qt.conf <