summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikko Levonmaa <mikko.levonmaa@gmail.com>2012-12-05 13:50:46 -0800
committerMikko Levonmaa <mikko.levonmaa@gmail.com>2012-12-07 08:48:15 -0800
commitb514c5d67a259457383db532151a4bf6f482d158 (patch)
tree4f20cd92c147a57f9de4f0e19a8b502a83736baf
parent17d2bf1cdd6a6b23a88a8e07dcb640e8f01115d2 (diff)
downloadmeta-qt5-b514c5d67a259457383db532151a4bf6f482d158.tar.gz
Updated QT_CONF_PATH default values in qmake5_base
This allows the subsequent modules to install correctly. Also during do_configure we stage target specific file into the staging area and modify some prf files inorder to make the module (qt_lib_<module>.pri) files install correctly Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
-rw-r--r--classes/qmake5_base.bbclass12
-rw-r--r--recipes-qt/qt5/qt5.inc40
2 files changed, 38 insertions, 14 deletions
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass
index 7012d0d7..014d4618 100644
--- a/classes/qmake5_base.bbclass
+++ b/classes/qmake5_base.bbclass
@@ -17,13 +17,13 @@ do_generate_qt_config_file() {
17 export QT_CONF_PATH=${WORKDIR}/qt.conf 17 export QT_CONF_PATH=${WORKDIR}/qt.conf
18 cat > ${WORKDIR}/qt.conf <<EOF 18 cat > ${WORKDIR}/qt.conf <<EOF
19[Paths] 19[Paths]
20Prefix = 20Binaries = ${bindir}
21Binaries = ${STAGING_BINDIR_NATIVE} 21Headers = ${includedir}/qt5
22Headers = ${STAGING_INCDIR}/qt5 22Plugins = ${libdir}/qt5/plugins
23Plugins = ${STAGING_LIBDIR}/qt5/plugins/ 23Libraries = ${libdir}
24Libraries = ${STAGING_LIBDIR} 24Data = ${datadir}/qt5
25HostData = ${STAGING_DATADIR}/qt5 25HostData = ${STAGING_DATADIR}/qt5
26HostBinaries = ${STAGING_BINDIR_NATIVE}/ 26HostBinaries = ${STAGING_BINDIR_NATIVE}
27EOF 27EOF
28} 28}
29 29
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index af933dea..ee2175ac 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -84,8 +84,19 @@ 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 ### This copying needs to take place every time as the installation will
88 ### change.. CHECK THIS
87 mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME} 89 mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME}
88 cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs 90 cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/
91 ### Make sure that modules are installed correctly
92 sed -i '/pritarget/s/HOST_DATA/INSTALL_DATA/' ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/features/qt_installs.prf
93 rm -rf ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/modules*
94 rm ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*.pri
95
96 ### This will make sure that our mkspecs wil leventually end up in STAGING_DATADIR
97 ### Consider doing this as a patch!!
98 sed -i '/mkspecs\.path/s/HOST_DATA/INSTALL_DATA/' qtbase.pro
99 sed -i '/pritarget/s/HOST_DATA/INSTALL_DATA/' mkspecs/features/qt_installs.prf
89 100
90 echo "[Paths]" > $QT_CONF_PATH 101 echo "[Paths]" > $QT_CONF_PATH
91 echo "Binaries=${bindir}" >> $QT_CONF_PATH 102 echo "Binaries=${bindir}" >> $QT_CONF_PATH
@@ -101,6 +112,7 @@ do_configure() {
101 echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH 112 echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH
102 113
103 ./configure -v \ 114 ./configure -v \
115 -dont-process \
104 -opensource -confirm-license \ 116 -opensource -confirm-license \
105 -prefix ${prefix} \ 117 -prefix ${prefix} \
106 -bindir ${bindir} \ 118 -bindir ${bindir} \
@@ -124,9 +136,14 @@ do_configure() {
124 ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well 136 ### qmodule.pri and qconfig.pri contain target specific stuff copy them over as well
125 cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri 137 cp -f mkspecs/qmodule.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qmodule.pri
126 cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri 138 cp -f mkspecs/qconfig.pri ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/qconfig.pri
139
140 ### As we provided the '-dont-process' switch inorder to allow us to stage a few files
141 ### generated by the configure we need to manually run qmake the generate _all_ the Makefiles (-r)
142 ${OE_QMAKE_QMAKE} -r -d
127} 143}
128 144
129do_compile() { 145do_compile() {
146
130 unset CFLAGS CXXFLAGS AR 147 unset CFLAGS CXXFLAGS AR
131 148
132 oe_runmake ${EXTRA_ENV} 149 oe_runmake ${EXTRA_ENV}
@@ -141,7 +158,8 @@ do_compile() {
141do_install() { 158do_install() {
142 oe_runmake install INSTALL_ROOT=${D} 159 oe_runmake install INSTALL_ROOT=${D}
143 160
144 # Fix up the binaries to the right location 161 ### Fix up the binaries to the right location
162 ### TODO: FIX
145 install -d ${D}${bindir}/ 163 install -d ${D}${bindir}/
146 mv ${D}/${STAGING_BINDIR_NATIVE}/* ${D}${bindir}/ 164 mv ${D}/${STAGING_BINDIR_NATIVE}/* ${D}${bindir}/
147 rm -rf ${D}/${STAGING_BINDIR_NATIVE}/ 165 rm -rf ${D}/${STAGING_BINDIR_NATIVE}/
@@ -153,11 +171,17 @@ do_install() {
153 171
154FILES_${PN} = "${libdir}/*.so.*" 172FILES_${PN} = "${libdir}/*.so.*"
155FILES_${PN}-dbg = "${libdir}/.debug/*.so.*" 173FILES_${PN}-dbg = "${libdir}/.debug/*.so.*"
156FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*" 174FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/plugins/*"
157FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*" 175FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/plugins/.debug/*"
158 176
159FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*" 177FILES_${PN}-dev = " \
178 ${libdir}/cmake/* \
179 ${libdir}/pkgconfig/*.pc \
180 ${libdir}/*.la \
181 ${libdir}/*.prl \
182 ${includedir}/qt5/* \
183 ${datadir}/qt5/* \
184"
160FILES_${PN}-staticdev = "${libdir}/libQt*.a" 185FILES_${PN}-staticdev = "${libdir}/libQt*.a"
161FILES_${PN}-tools = "${bindir}/*" 186FILES_${PN}-tools = "${bindir}/*"
162FILES_${PN}-mkspecs = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*" 187FILES_${PN}-doc = "${datadir}/doc/*"
163FILES_${PN}-doc = "${STAGING_DATADIR}/doc/*"