summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2019-01-10 16:18:05 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2019-04-03 14:10:43 +0000
commitadf7f605872f246b692fd9628af26505f6e9c485 (patch)
treedd912117424d7a576d9830ec72a0e37d2aada491
parent28d4bfdf74ba9d66ad749fc7208ca8dc147a3927 (diff)
downloadmeta-qt5-adf7f605872f246b692fd9628af26505f6e9c485.tar.gz
qt5: patch build paths from installed files
All 3rdparty libs and includes are now resolved into full filepaths, which means build paths to the yocto build environment are in module's prl, pri, pc and cmake files. Move existing patching from qtbase to the bbclass so that it's applied to all modules. -L paths are no longer included in the .pc files, remove unneeded patching for those. Task-number: QTBUG-72903 Change-Id: Iae5d150593aef153c46aaf8a3ba22fbafcc9b818 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io> Signed-off-by: Mikko Gronoff <mikko.gronoff@qt.io>
-rw-r--r--classes/qmake5_base.bbclass19
-rw-r--r--recipes-qt/qt5/qtbase_git.bb5
2 files changed, 14 insertions, 10 deletions
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass
index 48da05e8..20ff33d4 100644
--- a/classes/qmake5_base.bbclass
+++ b/classes/qmake5_base.bbclass
@@ -240,9 +240,18 @@ qmake5_base_do_install() {
240 qmake5_base_fix_install ${STAGING_DIR_HOST} 240 qmake5_base_fix_install ${STAGING_DIR_HOST}
241 qmake5_base_fix_install ${STAGING_DIR_NATIVE} 241 qmake5_base_fix_install ${STAGING_DIR_NATIVE}
242 242
243 if ls ${D}${libdir}/pkgconfig/*.pc >/dev/null 2>/dev/null; then 243 # Replace host paths with qmake built-in properties
244 sed -i ${D}${libdir}/pkgconfig/*.pc \ 244 find ${D} \( -name *.pri -or -name *.prl \) -exec \
245 -e "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" \ 245 sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
246 -e "s@${STAGING_DIR_TARGET}@@g" 246 -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' {} \;
247 fi 247
248 # Replace host paths with pkg-config built-in variable
249 find ${D} -name *.pc -exec \
250 sed -i -e 's|prefix=${STAGING_DIR_HOST}|prefix=|g' \
251 -e 's|${STAGING_DIR_HOST}|${pc_sysrootdir}|g' {} \;
252
253 # Replace resolved lib path with the lib name
254 find ${D} -name *.cmake -exec \
255 sed -i -e 's@/[^;]*/lib\([^;]*\)\.\(so\|a\)@\1@g' {} \;
256
248} 257}
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index c023e4fc..836f57fa 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -229,11 +229,6 @@ do_install_append() {
229 # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" 229 # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory"
230 touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri 230 touch ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/oe-device-extra.pri
231 231
232 # Replace host paths with qmake built-in properties
233 sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
234 -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' \
235 ${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/*.pri
236
237 # Update the mkspecs to include the default OE toolchain config for the target 232 # Update the mkspecs to include the default OE toolchain config for the target
238 conf=${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/${XPLATFORM}/qmake.conf 233 conf=${D}/${OE_QMAKE_PATH_QT_ARCHDATA}/mkspecs/${XPLATFORM}/qmake.conf
239 234