From a2c5509520d5c3e082f55844e6545d0309565f8f Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 27 Apr 2014 01:23:07 +0100 Subject: binutils/gcc/gdb: Add TARGET_ARCH to PN for all cross recipes This allows them to co-exist together in the native sysroot, with one set of cross tools per target architecture. Signed-off-by: Richard Purdie --- meta/classes/autotools.bbclass | 2 +- meta/classes/cross-canadian.bbclass | 2 +- meta/classes/cross.bbclass | 4 +++- meta/classes/sstate.bbclass | 7 +------ 4 files changed, 6 insertions(+), 9 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index f8c9b1e7b4..0dc1e6b8b7 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -158,7 +158,7 @@ python autotools_copy_aclocals () { manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c) elif c.startswith("nativesdk-"): manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${SDK_ARCH}-%s.populate_sysroot" % c) - elif c.endswith("-cross") or c.endswith("-cross-initial") or c.endswith("-crosssdk") or c.endswith("-crosssdk-initial"): + elif "-cross-" in c or "-crosssdk-" in c: continue else: manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${MACHINE}-%s.populate_sysroot" % c) diff --git a/meta/classes/cross-canadian.bbclass b/meta/classes/cross-canadian.bbclass index 70efee317e..cea6afb75d 100644 --- a/meta/classes/cross-canadian.bbclass +++ b/meta/classes/cross-canadian.bbclass @@ -9,7 +9,7 @@ # or indirectly via dependency. No need to be in 'world'. EXCLUDE_FROM_WORLD = "1" CLASSOVERRIDE = "class-cross-canadian" -STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}:${STAGING_DIR_NATIVE}${bindir_native}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" +STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${SDK_ARCH}${SDK_VENDOR}-${SDK_OS}:${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}" # # Update BASE_PACKAGE_ARCH and PACKAGE_ARCHS diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index b7d33f5e32..a8f3b601c2 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -19,6 +19,8 @@ HOST_AS_ARCH = "${BUILD_AS_ARCH}" STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}" +PACKAGE_ARCH = "${BUILD_ARCH}" + export PKG_CONFIG_DIR = "${STAGING_DIR}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}${libdir}/pkgconfig" export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}" @@ -43,7 +45,7 @@ target_libdir = "${target_exec_prefix}/${baselib}" target_includedir := "${includedir}" # Overrides for paths -CROSS_TARGET_SYS_DIR = "${MULTIMACH_TARGET_SYS}" +CROSS_TARGET_SYS_DIR = "${TARGET_SYS}" prefix = "${STAGING_DIR_NATIVE}${prefix_native}" base_prefix = "${STAGING_DIR_NATIVE}" exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}" diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 7b16bc04d5..46cc2677d6 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -22,10 +22,6 @@ SSTATE_PATHSPEC = "${SSTATE_DIR}/${SSTATE_EXTRAPATHWILDCARD}*/${SSTATE_PKGSPEC SSTATE_EXTRAPATH[vardepvalue] = "" SSTATE_DUPWHITELIST = "${DEPLOY_DIR_IMAGE}/ ${DEPLOY_DIR}/licenses/" -# Also need to make cross recipes append to ${PN} and install once for any given PACAGE_ARCH so -# can avoid multiple installs (e.g. routerstationpro+qemumips both using mips32) -SSTATE_DUPWHITELIST += "${STAGING_LIBDIR_NATIVE}/${MULTIMACH_TARGET_SYS} ${STAGING_DIR_NATIVE}/usr/libexec/${MULTIMACH_TARGET_SYS} ${STAGING_BINDIR_NATIVE}/${MULTIMACH_TARGET_SYS} ${STAGING_DIR_NATIVE}${includedir_native}/gcc-build-internal-${MULTIMACH_TARGET_SYS}" -SSTATE_DUPWHITELIST += "${STAGING_DIR_NATIVE}/sysroot-providers/virtual_${TARGET_PREFIX} ${STAGING_DIR_NATIVE}/sysroot-providers/binutils-cross ${STAGING_DIR_NATIVE}/sysroot-providers/gcc-cross" # Avoid docbook/sgml catalog warnings for now SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" @@ -51,8 +47,7 @@ python () { elif bb.data.inherits_class('crosssdk', d): d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}")) elif bb.data.inherits_class('cross', d): - d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TUNE_PKGARCH}")) - d.setVar('SSTATE_MANMACH', d.expand("${BUILD_ARCH}_${MACHINE}")) + d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${TARGET_ARCH}")) elif bb.data.inherits_class('nativesdk', d): d.setVar('SSTATE_PKGARCH', d.expand("${SDK_ARCH}")) elif bb.data.inherits_class('cross-canadian', d): -- cgit 1.2.3-korg