summaryrefslogtreecommitdiffstats
path: root/meta/conf
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2012-01-27 11:13:45 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-03 16:17:16 +0000
commitc0d7e9b062117a844293e7b358601d959e03b981 (patch)
tree137579c082921d3d65d26ba54e4974d99e1f277d /meta/conf
parentb942a8ee6a196631ba472225ebcdc058fd72d33a (diff)
downloadpoky-c0d7e9b062117a844293e7b358601d959e03b981.tar.gz
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 <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf')
-rw-r--r--meta/conf/distro/include/tcmode-external-csl.inc27
1 files changed, 25 insertions, 2 deletions
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 @@
2# Configuration to use external CSL toolchain 2# Configuration to use external CSL toolchain
3# 3#
4 4
5TARGET_VENDOR = "-none"
6
7EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" 5EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}"
8 6
9PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" 7PATH =. "${EXTERNAL_TOOLCHAIN}/bin:"
10 8
9CSL_TARGET_SYS_powerpc = "powerpc-linux-gnu"
10CSL_TARGET_SYS_powerpc64 = "powerpc-linux-gnu"
11CSL_TARGET_SYS_arm = "arm-none-linux-gnueabi"
12CSL_TARGET_SYS_mips = "mips-linux-gnu"
13CSL_TARGET_SYS_mipsel = "mips-linux-gnu"
14CSL_TARGET_SYS_mips64 = "mips-linux-gnu"
15CSL_TARGET_SYS = "${TARGET_SYS}"
16
17TARGET_PREFIX = "${CSL_TARGET_SYS}-"
18
11PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain" 19PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain"
12PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain" 20PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain"
13PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-csl-toolchain" 21PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-csl-toolchain"
@@ -28,3 +36,18 @@ TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include
28TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib " 36TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib "
29 37
30TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}" 38TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}"
39
40# Translate to CodeSourcery's names for their optimized files in the toolchain
41def csl_target_core(d):
42 coredata = {
43 'armv7a-vfp-neon': 'armv7-a-neon',
44 'mips': 'mips32',
45 'mipsel': 'el',
46 'ppce500': 'te500v1',
47 'ppce500mc': 'te500mc',
48 'ppce500v2': 'te500v2',
49 'ppce600': 'te600'
50 }
51 return coredata.get(d.getVar('TUNE_PKGARCH', True), '')
52
53CSL_TARGET_CORE = "${@csl_target_core(d)}"