summaryrefslogtreecommitdiffstats
path: root/external/meta-qt5/classes/qmake5_base.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'external/meta-qt5/classes/qmake5_base.bbclass')
-rw-r--r--external/meta-qt5/classes/qmake5_base.bbclass22
1 files changed, 15 insertions, 7 deletions
diff --git a/external/meta-qt5/classes/qmake5_base.bbclass b/external/meta-qt5/classes/qmake5_base.bbclass
index b3a4826a..3f1bba23 100644
--- a/external/meta-qt5/classes/qmake5_base.bbclass
+++ b/external/meta-qt5/classes/qmake5_base.bbclass
@@ -20,7 +20,6 @@ SSTATE_SCAN_FILES += "*.pri *.prl *.prf"
# then OE_QMAKE_CFLAGS are exported and used correctly, but then whole CFLAGS is overwritten from env (and -fPIC lost and build fails)
EXTRA_OEMAKE = " \
MAKEFLAGS='${PARALLEL_MAKE}' \
- OE_QMAKE_COMPILER='${OE_QMAKE_COMPILER}' \
OE_QMAKE_CC='${OE_QMAKE_CC}' \
OE_QMAKE_CXX='${OE_QMAKE_CXX}' \
OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \
@@ -33,7 +32,6 @@ EXTRA_OEMAKE = " \
"
OE_QMAKE_QMAKE = "${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake"
-export OE_QMAKE_COMPILER = "${CC}"
export OE_QMAKE_CC = "${CC}"
export OE_QMAKE_CFLAGS = "${CFLAGS}"
export OE_QMAKE_CXX = "${CXX}"
@@ -112,6 +110,7 @@ generate_qt_config_file_effective_paths() {
cat >> ${OE_QMAKE_QTCONF_PATH} <<EOF
[EffectivePaths]
HostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
+HostLibraries = ${STAGING_LIBDIR_NATIVE}
HostData = ${OE_QMAKE_PATH_HOST_DATA}
HostPrefix = ${STAGING_DIR_NATIVE}
EOF
@@ -242,9 +241,18 @@ qmake5_base_do_install() {
qmake5_base_fix_install ${STAGING_DIR_HOST}
qmake5_base_fix_install ${STAGING_DIR_NATIVE}
- if ls ${D}${libdir}/pkgconfig/*.pc >/dev/null 2>/dev/null; then
- sed -i ${D}${libdir}/pkgconfig/*.pc \
- -e "s@-L${STAGING_LIBDIR}@-L\${libdir}@g" \
- -e "s@${STAGING_DIR_TARGET}@@g"
- fi
+ # Replace host paths with qmake built-in properties
+ find ${D} \( -name "*.pri" -or -name "*.prl" \) -exec \
+ sed -i -e 's|${STAGING_DIR_NATIVE}|$$[QT_HOST_PREFIX/get]|g' \
+ -e 's|${STAGING_DIR_HOST}|$$[QT_SYSROOT]|g' {} \;
+
+ # Replace host paths with pkg-config built-in variable
+ find ${D} -name "*.pc" -exec \
+ sed -i -e 's|prefix=${STAGING_DIR_HOST}|prefix=|g' \
+ -e 's|${STAGING_DIR_HOST}|${pc_sysrootdir}|g' {} \;
+
+ # Replace resolved lib path with the lib name
+ find ${D} -name "*.cmake" -exec \
+ sed -i -e 's@/[^;]*/lib\([^;]*\)\.\(so\|a\)@\1@g' {} \;
+
}