summaryrefslogtreecommitdiffstats
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
parenteb1ad81906d8a40acb5a6691012d32772318433a (diff)
downloadmeta-qt5-2b5c531b22703025e67b2f207db91ea178f7ead5.tar.gz
qtbase: don't touch STAGING and bypass sstate
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-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() {
62 ln -sf ${OE_QMAKE_QMAKE} bin/qmake 62 ln -sf ${OE_QMAKE_QMAKE} bin/qmake
63 fi 63 fi
64 64
65 if [ ! -e mkspecs/${TARGET_OS}-oe-g++ ]; then
66 ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++
67 fi
68
69 if [ -f mkspecs/common/g++-unix.conf ] ; then
70 # mkspecs were refactored for 4.8.0
71 cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf
72 else
73 cp -f ${WORKDIR}/g++.conf mkspecs/common/g++.conf
74 fi
75 cp -f ${WORKDIR}/linux.conf mkspecs/common/
76
65 # Avoid problems with the linkers, since we want the linker to be g++ 77 # Avoid problems with the linkers, since we want the linker to be g++
66 unset LD 78 unset LD
67} 79}
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() {
44 cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++ 44 cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
45 bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf 45 bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf
46 46
47 ### Stage the base mkspecs so that 'HostData' will find them
48 mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME}
49 cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/
50 ### Make sure that modules are installed correctly. During configure they will pick this one
51 ### instead of the one from ${S}/mkspecs...
52 sed -i '/pritarget/s/QT_HOST_DATA/OE_CROSS_INSTALL_DATA/' \
53 ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/features/qt_installs.prf
54 rm -rf ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/modules*
55
56 ### Fix up prl and pkgconfig lib paths, by default they will point to /usr/lib 47 ### Fix up prl and pkgconfig lib paths, by default they will point to /usr/lib
57 ${OE_QMAKE_QMAKE} -set OE_CROSS_INSTALL_LIBS ${STAGING_LIBDIR} 48 ${OE_QMAKE_QMAKE} -set OE_CROSS_INSTALL_LIBS ${STAGING_LIBDIR}
58 sed -i 's/QT_INSTALL_LIBS\/raw/OE_CROSS_INSTALL_LIBS/g' mkspecs/features/qt_module.prf 49 sed -i 's/QT_INSTALL_LIBS\/raw/OE_CROSS_INSTALL_LIBS/g' mkspecs/features/qt_module.prf
59 50
60 ### Remove the old pri files 51 # in qtbase case we want to find qmodule.pri in ${S}/mkspec
61 rm ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*.pri 52 # ./features/qt_build_config.prf: QMAKE_QT_MODULE = $$[QT_HOST_DATA/get]/mkspecs/qmodule.pri
62 53 echo "HostData = ${S}" >> ${QT_CONF_PATH}
63
64 echo "[Paths]" > $QT_CONF_PATH
65 echo "Binaries=${bindir}" >> $QT_CONF_PATH
66 echo "Headers=${includedir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
67 echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
68 echo "Libraries=${libdir}" >> $QT_CONF_PATH
69 echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
70 echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
71 echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
72 echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
73 echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
74 echo "HostBinaries=${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH
75 echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH
76 54
77 ./configure -v \ 55 ./configure -v \
78 -dont-process \ 56 -dont-process \
@@ -92,22 +70,16 @@ do_configure_append() {
92 -xplatform ${TARGET_OS}-oe-g++ \ 70 -xplatform ${TARGET_OS}-oe-g++ \
93 ${QT_CONFIG_FLAGS} 71 ${QT_CONFIG_FLAGS}
94 72
95 ### Since we are pointing our host data we need to get them there before compilation
96 if [ ! -e ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++ ]; then
97 cp -rf mkspecs/${TARGET_OS}-oe-g++ ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/${TARGET_OS}-oe-g++
98 fi
99 ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well
100 cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri
101 cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri
102
103 ### As we provided the '-dont-process' switch inorder to allow us to stage a few files 73 ### As we provided the '-dont-process' switch inorder to allow us to stage a few files
104 ### generated by the configure we need to manually run qmake the generate _all_ the Makefiles (-r) 74 ### generated by the configure we need to manually run qmake the generate _all_ the Makefiles (-r)
75 export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
105 ${OE_QMAKE_QMAKE} -r -d 76 ${OE_QMAKE_QMAKE} -r -d
106} 77}
107 78
108do_compile_append() { 79do_compile_append() {
109 # Build qmake for the target arch 80 # Build qmake for the target arch
110 cd ${S}/qmake 81 cd ${S}/qmake
82 export QMAKESPEC="${S}/mkspecs/${TARGET_OS}-oe-g++"
111 ${OE_QMAKE_QMAKE} 83 ${OE_QMAKE_QMAKE}
112 oe_runmake CC="${CC}" CXX="${CXX}" 84 oe_runmake CC="${CC}" CXX="${CXX}"
113 cd ${S} 85 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}
34QMAKE_CXX = ${OE_QMAKE_CXX} 34QMAKE_CXX = ${OE_QMAKE_CXX}
35QMAKE_LINK = ${OE_QMAKE_LINK} 35QMAKE_LINK = ${OE_QMAKE_LINK}
36QMAKE_LINK_SHLIB = ${OE_QMAKE_LINK} 36QMAKE_LINK_SHLIB = ${OE_QMAKE_LINK}
37QMAKE_CONF_COMPILER = ${OE_QMAKE_CONF_COMPILER}
37 38
38load(qt_config) 39load(qt_config)
39EOF \ No newline at end of file 40EOF