aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/cross.bbclass16
1 files changed, 15 insertions, 1 deletions
diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass
index 5ecbb64347..5cabfa8787 100644
--- a/meta/classes/cross.bbclass
+++ b/meta/classes/cross.bbclass
@@ -25,6 +25,14 @@ LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE}"
TOOLCHAIN_OPTIONS = ""
+# Path mangling needed by the cross packaging
+# Note that we use := here to ensure that libdir and includedir are
+# target paths, not CROSS_DIR paths.
+target_libdir := "${libdir}"
+target_includedir := "${includedir}"
+target_base_libdir := "${base_libdir}"
+target_prefix := "${prefix}"
+
# Overrides for paths
prefix = "${CROSS_DIR}"
base_prefix = "${prefix}"
@@ -44,6 +52,12 @@ do_install () {
# Override the default sysroot staging copy since this won't look like a target system
#
sysroot_stage_all() {
- sysroot_stage_dir ${D} ${SYSROOT_DESTDIR}
+ 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
}
+
+