Updated QT_CONF_PATH default values in qmake5_base
authorMikko Levonmaa <mikko.levonmaa@gmail.com>
Wed, 5 Dec 2012 21:50:46 +0000 (13:50 -0800)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:43:30 +0000 (08:43 -0800)
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

(From meta-qt5 rev: b514c5d67a259457383db532151a4bf6f482d158)

Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-qt5/classes/qmake5_base.bbclass
meta-qt5/recipes-qt/qt5/qt5.inc

index 7012d0d..014d461 100644 (file)
@@ -17,13 +17,13 @@ do_generate_qt_config_file() {
        export QT_CONF_PATH=${WORKDIR}/qt.conf
        cat > ${WORKDIR}/qt.conf <<EOF
 [Paths]
-Prefix =
-Binaries = ${STAGING_BINDIR_NATIVE}
-Headers = ${STAGING_INCDIR}/qt5
-Plugins = ${STAGING_LIBDIR}/qt5/plugins/
-Libraries = ${STAGING_LIBDIR}
+Binaries = ${bindir}
+Headers = ${includedir}/qt5
+Plugins = ${libdir}/qt5/plugins
+Libraries = ${libdir}
+Data = ${datadir}/qt5
 HostData = ${STAGING_DATADIR}/qt5
-HostBinaries = ${STAGING_BINDIR_NATIVE}/
+HostBinaries = ${STAGING_BINDIR_NATIVE}
 EOF
 }
 
index af933de..ee2175a 100644 (file)
@@ -84,8 +84,19 @@ do_configure() {
     cp -f ${WORKDIR}/qplatformdefs.h mkspecs/${TARGET_OS}-oe-g++
     bash ${WORKDIR}/qmake.conf.sh > mkspecs/${TARGET_OS}-oe-g++/qmake.conf
 
+    ### This copying needs to take place every time as the installation will 
+    ### change.. CHECK THIS
     mkdir -p ${STAGING_DATADIR}/${QT_DIR_NAME}
-    cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs
+    cp -r ${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs ${STAGING_DATADIR}/${QT_DIR_NAME}/
+    ### Make sure that modules are installed correctly
+    sed -i '/pritarget/s/HOST_DATA/INSTALL_DATA/' ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/features/qt_installs.prf
+    rm -rf ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/modules*
+    rm ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*.pri
+
+    ### This will make sure that our mkspecs wil leventually end up in STAGING_DATADIR
+    ### Consider doing this as a patch!!
+    sed -i '/mkspecs\.path/s/HOST_DATA/INSTALL_DATA/' qtbase.pro
+    sed -i '/pritarget/s/HOST_DATA/INSTALL_DATA/' mkspecs/features/qt_installs.prf
 
     echo "[Paths]"                                              > $QT_CONF_PATH
     echo "Binaries=${bindir}"                                   >> $QT_CONF_PATH
@@ -101,6 +112,7 @@ do_configure() {
     echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}"    >> $QT_CONF_PATH
 
     ./configure -v \
+        -dont-process \
         -opensource -confirm-license \
         -prefix ${prefix} \
         -bindir ${bindir} \
@@ -124,9 +136,14 @@ do_configure() {
     ### 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)
+    ${OE_QMAKE_QMAKE} -r -d
 }
 
 do_compile() {
+
     unset CFLAGS CXXFLAGS AR
 
     oe_runmake ${EXTRA_ENV}
@@ -141,7 +158,8 @@ do_compile() {
 do_install() {
     oe_runmake install INSTALL_ROOT=${D}
 
-    # Fix up the binaries to the right location
+    ### Fix up the binaries to the right location
+    ### TODO: FIX
     install -d ${D}${bindir}/
     mv ${D}/${STAGING_BINDIR_NATIVE}/* ${D}${bindir}/
     rm -rf ${D}/${STAGING_BINDIR_NATIVE}/
@@ -153,11 +171,17 @@ do_install() {
 
 FILES_${PN} = "${libdir}/*.so.*"
 FILES_${PN}-dbg = "${libdir}/.debug/*.so.*"
-FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/platforms/*"
-FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/platforms/.debug/*"
-
-FILES_${PN}-dev = "${libdir}/cmake/* ${libdir}/pkgconfig/*.pc ${libdir}/*.la ${libdir}/*.prl ${includedir}/qt5/*"
+FILES_${PN}-plugins = "${libdir}/${QT_DIR_NAME}/plugins/*"
+FILES_${PN}-plugins-dbg = "${libdir}/${QT_DIR_NAME}/plugins/.debug/*"
+
+FILES_${PN}-dev = " \
+        ${libdir}/cmake/* \
+        ${libdir}/pkgconfig/*.pc \
+        ${libdir}/*.la \
+        ${libdir}/*.prl \
+        ${includedir}/qt5/* \
+        ${datadir}/qt5/* \
+"
 FILES_${PN}-staticdev = "${libdir}/libQt*.a"
 FILES_${PN}-tools = "${bindir}/*"
-FILES_${PN}-mkspecs = "${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/*"
-FILES_${PN}-doc = "${STAGING_DATADIR}/doc/*"
+FILES_${PN}-doc = "${datadir}/doc/*"