diff options
author | Christopher Larson <chris_larson@mentor.com> | 2012-01-27 11:13:45 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-02-03 16:17:16 +0000 |
commit | c0d7e9b062117a844293e7b358601d959e03b981 (patch) | |
tree | 137579c082921d3d65d26ba54e4974d99e1f277d /meta/conf/distro | |
parent | b942a8ee6a196631ba472225ebcdc058fd72d33a (diff) | |
download | poky-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/distro')
-rw-r--r-- | meta/conf/distro/include/tcmode-external-csl.inc | 27 |
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 | ||
5 | TARGET_VENDOR = "-none" | ||
6 | |||
7 | EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" | 5 | EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" |
8 | 6 | ||
9 | PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" | 7 | PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" |
10 | 8 | ||
9 | CSL_TARGET_SYS_powerpc = "powerpc-linux-gnu" | ||
10 | CSL_TARGET_SYS_powerpc64 = "powerpc-linux-gnu" | ||
11 | CSL_TARGET_SYS_arm = "arm-none-linux-gnueabi" | ||
12 | CSL_TARGET_SYS_mips = "mips-linux-gnu" | ||
13 | CSL_TARGET_SYS_mipsel = "mips-linux-gnu" | ||
14 | CSL_TARGET_SYS_mips64 = "mips-linux-gnu" | ||
15 | CSL_TARGET_SYS = "${TARGET_SYS}" | ||
16 | |||
17 | TARGET_PREFIX = "${CSL_TARGET_SYS}-" | ||
18 | |||
11 | PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain" | 19 | PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain" |
12 | PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain" | 20 | PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain" |
13 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-csl-toolchain" | 21 | PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-csl-toolchain" |
@@ -28,3 +36,18 @@ TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include | |||
28 | TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib " | 36 | TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib " |
29 | 37 | ||
30 | TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}" | 38 | TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_HOST}" |
39 | |||
40 | # Translate to CodeSourcery's names for their optimized files in the toolchain | ||
41 | def 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 | |||
53 | CSL_TARGET_CORE = "${@csl_target_core(d)}" | ||