summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
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/recipes-core
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/recipes-core')
-rw-r--r--meta/recipes-core/meta/external-csl-toolchain.bb32
1 files changed, 25 insertions, 7 deletions
diff --git a/meta/recipes-core/meta/external-csl-toolchain.bb b/meta/recipes-core/meta/external-csl-toolchain.bb
index f1e53328b4..37ea271eb1 100644
--- a/meta/recipes-core/meta/external-csl-toolchain.bb
+++ b/meta/recipes-core/meta/external-csl-toolchain.bb
@@ -25,25 +25,43 @@ PROVIDES = "\
25 virtual/linux-libc-headers " 25 virtual/linux-libc-headers "
26RPROVIDES = "glibc-utils libsegfault glibc-thread-db" 26RPROVIDES = "glibc-utils libsegfault glibc-thread-db"
27PACKAGES_DYNAMIC = "glibc-gconv-*" 27PACKAGES_DYNAMIC = "glibc-gconv-*"
28PR = "r2" 28PR = "r3"
29 29
30#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2" 30#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${CSL_TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2"
31 31
32SRC_URI = "file://SUPPORTED" 32SRC_URI = "file://SUPPORTED"
33 33
34do_install() { 34do_install() {
35 install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir} 35 install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir}
36 install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} 36 install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} ${D}/usr
37 37
38 cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/lib/* ${D}${base_libdir} 38 if [ -d ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE} ]; then
39 cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/etc/* ${D}${sysconfdir} 39 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/lib/. ${D}${base_libdir}
40 cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/sbin/* ${D}${base_sbindir} 40 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/etc/. ${D}${sysconfdir}
41 cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/usr/* ${D}/usr 41 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/sbin/. ${D}${base_sbindir}
42 if [ ! -e ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/usr/include ]; then
43 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/usr/include ${D}/usr/
44 fi
45 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/usr/. ${D}/usr/
46 else
47 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/lib/. ${D}${base_libdir}
48 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/etc/. ${D}${sysconfdir}
49 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/sbin/. ${D}${base_sbindir}
50 cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/usr/. ${D}/usr/
51 fi
42 52
43 sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so 53 sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
44 sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so 54 sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so
45} 55}
46 56
57SYSROOT_PREPROCESS_FUNCS += "external_toolchain_sysroot_adjust"
58external_toolchain_sysroot_adjust() {
59 if [ -n "${CSL_TARGET_CORE}" ]; then
60 rm -f ${SYSROOT_DESTDIR}/${CSL_TARGET_CORE}
61 ln -s . ${SYSROOT_DESTDIR}/${CSL_TARGET_CORE}
62 fi
63}
64
47GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" 65GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile"
48 66
49PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers linux-libc-headers-dev" 67PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers linux-libc-headers-dev"