From c0d7e9b062117a844293e7b358601d959e03b981 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Fri, 27 Jan 2012 11:13:45 -0600 Subject: external-csl-toolchain: support mips/ppc/arm - Rather than adjusting TARGET_VENDOR, which results in our TARGET_SYS matching the external toolchain, override TARGET_PREFIX to match external, and leave TARGET_SYS alone - Grab the optimized files out of the toolchain if available - Create a symlink in sysroot to ensure the sysroot layout matches toolchain expectations (optimized files in a subdir) (From OE-Core rev: a37298eb3421a44e88ec5a66b2fc5305ab18f453) Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- meta/conf/distro/include/tcmode-external-csl.inc | 27 ++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'meta/conf/distro') diff --git a/meta/conf/distro/include/tcmode-external-csl.inc b/meta/conf/distro/include/tcmode-external-csl.inc index 0af3a45127..1d82ca1900 100644 --- a/meta/conf/distro/include/tcmode-external-csl.inc +++ b/meta/conf/distro/include/tcmode-external-csl.inc @@ -2,12 +2,20 @@ # Configuration to use external CSL toolchain # -TARGET_VENDOR = "-none" - EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" +CSL_TARGET_SYS_powerpc = "powerpc-linux-gnu" +CSL_TARGET_SYS_powerpc64 = "powerpc-linux-gnu" +CSL_TARGET_SYS_arm = "arm-none-linux-gnueabi" +CSL_TARGET_SYS_mips = "mips-linux-gnu" +CSL_TARGET_SYS_mipsel = "mips-linux-gnu" +CSL_TARGET_SYS_mips64 = "mips-linux-gnu" +CSL_TARGET_SYS = "${TARGET_SYS}" + +TARGET_PREFIX = "${CSL_TARGET_SYS}-" + PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain" PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-csl-toolchain" @@ -28,3 +36,18 @@ TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib " TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}" + +# Translate to CodeSourcery's names for their optimized files in the toolchain +def csl_target_core(d): + coredata = { + 'armv7a-vfp-neon': 'armv7-a-neon', + 'mips': 'mips32', + 'mipsel': 'el', + 'ppce500': 'te500v1', + 'ppce500mc': 'te500mc', + 'ppce500v2': 'te500v2', + 'ppce600': 'te600' + } + return coredata.get(d.getVar('TUNE_PKGARCH', True), '') + +CSL_TARGET_CORE = "${@csl_target_core(d)}" -- cgit v1.2.3-54-g00ecf