diff options
| author | Mikko Levonmaa <mikko.levonmaa@gmail.com> | 2012-12-04 16:32:32 -0800 |
|---|---|---|
| committer | Mikko Levonmaa <mikko.levonmaa@gmail.com> | 2012-12-04 17:03:14 -0800 |
| commit | 17d2bf1cdd6a6b23a88a8e07dcb640e8f01115d2 (patch) | |
| tree | 0f7e16690a095d35904858580594c14ed12501b5 | |
| parent | 93fc33ea280a2fd060dc35b6d60e3d6a65968ccf (diff) | |
| download | meta-qt5-17d2bf1cdd6a6b23a88a8e07dcb640e8f01115d2.tar.gz | |
qtbase: mkspecs are now staged correctly
They are placed under STAGING_DATADIR as they need to be
kept separate from the native side. The reason for doing so
is that some qt modules require native tools and the mkspecs
in STAGING_DATADIR_NATIVE cannot be polluted with the target
mkspecs
There are still some packaging issues
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
| -rw-r--r-- | classes/qmake5.bbclass | 2 | ||||
| -rw-r--r-- | classes/qmake5_base.bbclass | 3 | ||||
| -rw-r--r-- | recipes-qt/qt5/qt5-native.inc | 1 | ||||
| -rw-r--r-- | recipes-qt/qt5/qt5.inc | 27 | ||||
| -rw-r--r-- | recipes-qt/qt5/qtbase/0001-Always-build-uic.patch (renamed from recipes-qt/qt5/files/0001-Always-build-uic.patch) | 0 | ||||
| -rw-r--r-- | recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch | 31 |
6 files changed, 49 insertions, 15 deletions
diff --git a/classes/qmake5.bbclass b/classes/qmake5.bbclass index b30b1507..180cedcf 100644 --- a/classes/qmake5.bbclass +++ b/classes/qmake5.bbclass | |||
| @@ -6,7 +6,7 @@ inherit qmake5_base | |||
| 6 | QT5TOOLSDEPENDS ?= "qt5-native " | 6 | QT5TOOLSDEPENDS ?= "qt5-native " |
| 7 | DEPENDS_prepend = "${QT5TOOLSDEPENDS}" | 7 | DEPENDS_prepend = "${QT5TOOLSDEPENDS}" |
| 8 | 8 | ||
| 9 | export QMAKESPEC = "${STAGING_DATADIR_NATIVE}/qt5/mkspecs/${TARGET_OS}-oe-g++" | 9 | export QMAKESPEC = "${STAGING_DATADIR}/qt5/mkspecs/${TARGET_OS}-oe-g++" |
| 10 | export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic" | 10 | export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic" |
| 11 | export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc" | 11 | export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc" |
| 12 | export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc" | 12 | export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc" |
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass index 5601bb94..7012d0d7 100644 --- a/classes/qmake5_base.bbclass +++ b/classes/qmake5_base.bbclass | |||
| @@ -22,8 +22,7 @@ Binaries = ${STAGING_BINDIR_NATIVE} | |||
| 22 | Headers = ${STAGING_INCDIR}/qt5 | 22 | Headers = ${STAGING_INCDIR}/qt5 |
| 23 | Plugins = ${STAGING_LIBDIR}/qt5/plugins/ | 23 | Plugins = ${STAGING_LIBDIR}/qt5/plugins/ |
| 24 | Libraries = ${STAGING_LIBDIR} | 24 | Libraries = ${STAGING_LIBDIR} |
| 25 | Mkspecs = ${STAGING_DATADIR}/qt5/mkspecs/ | 25 | HostData = ${STAGING_DATADIR}/qt5 |
| 26 | HostData = ${STAGING_DATADIR_NATIVE}/qt5 | ||
| 27 | HostBinaries = ${STAGING_BINDIR_NATIVE}/ | 26 | HostBinaries = ${STAGING_BINDIR_NATIVE}/ |
| 28 | EOF | 27 | EOF |
| 29 | } | 28 | } |
diff --git a/recipes-qt/qt5/qt5-native.inc b/recipes-qt/qt5/qt5-native.inc index 040b6439..11cfcff0 100644 --- a/recipes-qt/qt5/qt5-native.inc +++ b/recipes-qt/qt5/qt5-native.inc | |||
| @@ -14,6 +14,7 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:" | |||
| 14 | 14 | ||
| 15 | SRC_URI += " \ | 15 | SRC_URI += " \ |
| 16 | file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \ | 16 | file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \ |
| 17 | file://0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch \ | ||
| 17 | file://0001-Always-build-uic.patch \ | 18 | file://0001-Always-build-uic.patch \ |
| 18 | " | 19 | " |
| 19 | 20 | ||
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index 9f29792c..af933dea 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc | |||
| @@ -84,6 +84,9 @@ do_configure() { | |||
| 84 | cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++ | 84 | cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++ |
| 85 | bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf | 85 | bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf |
| 86 | 86 | ||
| 87 | mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME} | ||
| 88 | cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs | ||
| 89 | |||
| 87 | echo "[Paths]" > $QT_CONF_PATH | 90 | echo "[Paths]" > $QT_CONF_PATH |
| 88 | echo "Binaries=${bindir}" >> $QT_CONF_PATH | 91 | echo "Binaries=${bindir}" >> $QT_CONF_PATH |
| 89 | echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH | 92 | echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
| @@ -95,7 +98,7 @@ do_configure() { | |||
| 95 | echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH | 98 | echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
| 96 | echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH | 99 | echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH |
| 97 | echo "HostBinaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH | 100 | echo "HostBinaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH |
| 98 | echo "HostData=${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH | 101 | echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
| 99 | 102 | ||
| 100 | ./configure -v \ | 103 | ./configure -v \ |
| 101 | -opensource -confirm-license \ | 104 | -opensource -confirm-license \ |
| @@ -114,13 +117,13 @@ do_configure() { | |||
| 114 | -xplatform ${TARGET_OS}-oe-g++ \ | 117 | -xplatform ${TARGET_OS}-oe-g++ \ |
| 115 | ${QT_CONFIG_FLAGS} | 118 | ${QT_CONFIG_FLAGS} |
| 116 | 119 | ||
| 117 | ### Since we are utilizing the native tree for the mkspecs, update the target mkspecs there | 120 | ### Since we are pointing our host data we need to get them there before compile |
| 118 | if [ ! -e ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then | 121 | if [ ! -e ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then |
| 119 | cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ | 122 | cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ |
| 120 | fi | 123 | fi |
| 121 | ### qmodule.pri and qconfig.pri contain target specific stuff | 124 | ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well |
| 122 | cp -f mkspecs/qmodule.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qmodule.pri | 125 | cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri |
| 123 | cp -f mkspecs/qconfig.pri ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/qconfig.pri | 126 | cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri |
| 124 | } | 127 | } |
| 125 | 128 | ||
| 126 | do_compile() { | 129 | do_compile() { |
| @@ -150,11 +153,11 @@ do_install() { | |||
| 150 | 153 | ||
| 151 | FILES_${PN} = "${libdir}/*.so.*" | 154 | FILES_${PN} = "${libdir}/*.so.*" |
| 152 | FILES_${PN}-dbg = "${libdir}/.debug/*.so.*" | 155 | FILES_${PN}-dbg = "${libdir}/.debug/*.so.*" |
| 153 | FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*.so" | 156 | FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*" |
| 154 | FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*.so" | 157 | FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*" |
| 155 | 158 | ||
| 156 | FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*" | 159 | FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*" |
| 157 | FILES_${PN}-staticdev = "${libdir}/libQt*.a" | 160 | FILES_${PN}-staticdev = "${libdir}/libQt*.a" |
| 158 | FILES_${PN}-tools = "${bindir}/qmake" | 161 | FILES_${PN}-tools = "${bindir}/*" |
| 159 | FILES_${PN}-mkspecs = "${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs/*" | 162 | FILES_${PN}-mkspecs = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*" |
| 160 | FILES_${PN}-doc = "${STAGING_DATADIR_NATIVE}/doc/*" | 163 | FILES_${PN}-doc = "${STAGING_DATADIR}/doc/*" |
diff --git a/recipes-qt/qt5/files/0001-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0001-Always-build-uic.patch index 3f2e3fd9..3f2e3fd9 100644 --- a/recipes-qt/qt5/files/0001-Always-build-uic.patch +++ b/recipes-qt/qt5/qtbase/0001-Always-build-uic.patch | |||
diff --git a/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch b/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch new file mode 100644 index 00000000..6c9affae --- /dev/null +++ b/recipes-qt/qt5/qtbase/0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | From 40e6c0f88774b55111c63ed28bba626141797476 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 3 | Date: Tue, 4 Dec 2012 15:32:33 -0800 | ||
| 4 | Subject: [PATCH 3/3] qtbase: Allow qt.conf override when bootstrapping | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [configuration] | ||
| 7 | |||
| 8 | Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 9 | --- | ||
| 10 | qmake/option.cpp | 5 +++++ | ||
| 11 | 1 files changed, 5 insertions(+), 0 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/qmake/option.cpp b/qmake/option.cpp | ||
| 14 | index 91c154a..a4f3a85 100644 | ||
| 15 | --- a/qmake/option.cpp | ||
| 16 | +++ b/qmake/option.cpp | ||
| 17 | @@ -647,6 +647,11 @@ qmakeAddCacheClear(qmakeCacheClearFunc func, void **data) | ||
| 18 | |||
| 19 | QString qt_libraryInfoFile() | ||
| 20 | { | ||
| 21 | + QString qtconfig = QFile::decodeName(getenv("QT_CONF_PATH")); | ||
| 22 | + if (QFile::exists(qtconfig)) { | ||
| 23 | + printf("Overriding with qt.conf from: %s\n", qtconfig.toLatin1().data()); | ||
| 24 | + return qtconfig; | ||
| 25 | + } | ||
| 26 | if (!Option::globals->qmake_abslocation.isEmpty()) | ||
| 27 | return QDir(QFileInfo(Option::globals->qmake_abslocation).absolutePath()).filePath("qt.conf"); | ||
| 28 | return QString(); | ||
| 29 | -- | ||
| 30 | 1.7.4.1 | ||
| 31 | |||
