aboutsummaryrefslogtreecommitdiffstats
path: root/classes/cross.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/cross.bbclass')
-rw-r--r--classes/cross.bbclass22
1 files changed, 11 insertions, 11 deletions
diff --git a/classes/cross.bbclass b/classes/cross.bbclass
index 69f6511753..d3b27e6cf0 100644
--- a/classes/cross.bbclass
+++ b/classes/cross.bbclass
@@ -1,5 +1,5 @@
-# Disabled for now since the relocation paths are too long
-#inherit relocatable
+# We want cross packages to be relocatable
+inherit relocatable
# Cross packages are built indirectly via dependency,
# no need for them to be a direct target of 'world'
@@ -17,8 +17,6 @@ PACKAGE_ARCH = "${OLD_PACKAGE_ARCH}"
OLD_BASE_PACKAGE_ARCH := "${BASE_PACKAGE_ARCH}"
BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}"
-PACKAGES = ""
-
HOST_ARCH = "${BUILD_ARCH}"
HOST_VENDOR = "${BUILD_VENDOR}"
HOST_OS = "${BUILD_OS}"
@@ -46,20 +44,20 @@ target_base_libdir := "${base_libdir}"
target_prefix := "${prefix}"
# Overrides for paths
-prefix = "${CROSS_DIR}"
-base_prefix = "${prefix}"
+base_prefix = "${STAGING_DIR_NATIVE}"
+prefix = "${base_prefix}${prefix_native}/${BASE_PACKAGE_ARCH}"
exec_prefix = "${prefix}"
base_sbindir = "${base_prefix}/bin"
sbindir = "${exec_prefix}/bin"
+# staging should be special for cross
+STAGING_DIR_HOST = ""
+SHLIBSDIR = "${STAGING_DIR_NATIVE}/shlibs"
+
do_install () {
oe_runmake 'DESTDIR=${D}' install
}
-do_stage () {
- autotools_stage_all
-}
-
#
# Override the default sysroot staging copy since this won't look like a target system
#
@@ -77,5 +75,7 @@ sysroot_stage_all() {
#
# Cross .la files have more path issues we have to correct
-SYSROOTEXTRALIBDIRSED = '-e "/^libdir=/s,.*,libdir=${STAGING_DIR_TARGET}${target_libdir},g"'
+SYSROOTEXTRALIBDIRSED = '-e "/^libdir=/s,.*,libdir=${STAGING_DIR_TARGET}${target_libdir},g" \
+ -e "/^dependency_libs=/s,\([[:space:]']\)-L${STAGING_LIBDIR_NATIVE},,g" \
+'