diff options
Diffstat (limited to 'classes/cross.bbclass')
-rw-r--r-- | classes/cross.bbclass | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/classes/cross.bbclass b/classes/cross.bbclass index 9a3d39cb49..4cf2b4cfe2 100644 --- a/classes/cross.bbclass +++ b/classes/cross.bbclass @@ -1,3 +1,6 @@ +# Disabled for now since the relocation paths are too long +#inherit relocatable + # Cross packages are built indirectly via dependency, # no need for them to be a direct target of 'world' EXCLUDE_FROM_WORLD = "1" @@ -14,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}" @@ -32,6 +33,16 @@ LDFLAGS_build-darwin = "-L${STAGING_LIBDIR_NATIVE}" TOOLCHAIN_OPTIONS = "" +DEPENDS_GETTEXT = "gettext-native" + +# 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}" @@ -39,10 +50,32 @@ exec_prefix = "${prefix}" base_sbindir = "${base_prefix}/bin" sbindir = "${exec_prefix}/bin" +do_install () { + oe_runmake 'DESTDIR=${D}' install +} + do_stage () { - oe_runmake install + autotools_stage_all } -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} + install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir}/ + install -d ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir}/ + if [ -d ${SYSROOT_DESTDIR}${target_base_libdir} ]; then + sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_base_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_base_libdir} + fi + if [ -d ${SYSROOT_DESTDIR}${target_libdir} ]; then + sysroot_stage_libdir ${SYSROOT_DESTDIR}${target_libdir} ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${target_libdir} + fi } + +# +# Cross .la files have more path issues we have to correct +SYSROOTEXTRALIBDIRSED = '-e "/^libdir=/s,.*,libdir=${STAGING_DIR_TARGET}${target_libdir},g" \ + -e "/^dependency_libs=/s,\([[:space:]']\)-L${STAGING_LIBDIR_NATIVE},,g" \ +' + |