aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--classes/cross.bbclass9
-rw-r--r--classes/staging.bbclass2
2 files changed, 9 insertions, 2 deletions
diff --git a/classes/cross.bbclass b/classes/cross.bbclass
index f95144cfcb..70178b2a77 100644
--- a/classes/cross.bbclass
+++ b/classes/cross.bbclass
@@ -67,6 +67,11 @@ sysroot_stage_all() {
sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/
install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/
- mv ${SYSROOT_DESTDIR}${target_base_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ || true
- mv ${SYSROOT_DESTDIR}${target_libdir}/* ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ || true
+ sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_base_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}
+ sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}
}
+
+#
+# Cross .la files have more path issues we have to correct
+SYSROOTEXTRALIBDIRSED = '-e "/^libdir=/s,.*,libdir=${STAGING_DIR_TARGET}${target_libdir},g"'
+
diff --git a/classes/staging.bbclass b/classes/staging.bbclass
index a81ea865ea..e80644961c 100644
--- a/classes/staging.bbclass
+++ b/classes/staging.bbclass
@@ -38,6 +38,7 @@ sysroot_stage_dir() {
fi
}
+SYSROOTEXTRALIBDIRSED ?= ""
sysroot_stage_libdir() {
src="$1"
dest="$2"
@@ -52,6 +53,7 @@ sysroot_stage_libdir() {
sed -e 's/^installed=yes$/installed=no/' \
-e '/^dependency_libs=/s,${WORKDIR}[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),${STAGING_LIBDIR}/\1,g' \
-e "/^dependency_libs=/s,\([[:space:]']\)${libdir},\1${STAGING_LIBDIR},g" \
+ ${SYSROOTEXTRALIBDIRSED} \
-i $src/$i
done
sysroot_stage_dir $src $dest