From 4346516a6a719355d2793af289f93e14d3dedd0c Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Fri, 27 Jan 2012 11:13:44 -0600 Subject: external-csl-toolchain: avoid the hardcoded version/prefix Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- meta/conf/distro/include/tcmode-external-csl.inc | 30 ++++++++++ .../distro/include/tcmode-external-csl2008q3.inc | 33 ----------- meta/recipes-core/meta/external-csl-toolchain.bb | 66 ++++++++++++++++++++++ .../meta/external-csl-toolchain_2008q3-72.bb | 66 ---------------------- 4 files changed, 96 insertions(+), 99 deletions(-) create mode 100644 meta/conf/distro/include/tcmode-external-csl.inc delete mode 100644 meta/conf/distro/include/tcmode-external-csl2008q3.inc create mode 100644 meta/recipes-core/meta/external-csl-toolchain.bb delete mode 100644 meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb diff --git a/meta/conf/distro/include/tcmode-external-csl.inc b/meta/conf/distro/include/tcmode-external-csl.inc new file mode 100644 index 0000000000..0af3a45127 --- /dev/null +++ b/meta/conf/distro/include/tcmode-external-csl.inc @@ -0,0 +1,30 @@ +# +# Configuration to use external CSL toolchain +# + +TARGET_VENDOR = "-none" + +EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/${TARGET_ARCH}" + +PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" + +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" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-csl-toolchain" +PREFERRED_PROVIDER_libgcc = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/libc = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/libintl = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/libiconv = "external-csl-toolchain" +PREFERRED_PROVIDER_glibc-thread-db = "external-csl-toolchain" +PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-csl-toolchain" + +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}" diff --git a/meta/conf/distro/include/tcmode-external-csl2008q3.inc b/meta/conf/distro/include/tcmode-external-csl2008q3.inc deleted file mode 100644 index 31055dcab4..0000000000 --- a/meta/conf/distro/include/tcmode-external-csl2008q3.inc +++ /dev/null @@ -1,33 +0,0 @@ -# -# Configuration to use external CSL 2008q3-72 toolchain (ARM EABI) -# - -TARGET_VENDOR = "-none" - -EXTERNAL_TOOLCHAIN ?= "/usr/local/csl/arm-2008q3" - -PATH =. "${EXTERNAL_TOOLCHAIN}/bin:" - -PREFERRED_PROVIDER_linux-libc-headers = "external-csl-toolchain" -PREFERRED_PROVIDER_linux-libc-headers-dev = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-gcc = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-gcc-initial = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-gcc-intermediate = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-g++ = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-binutils = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-libc-for-gcc = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/arm-none-linux-gnueabi-compilerlibs = "external-csl-toolchain" -PREFERRED_PROVIDER_libgcc = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/libc = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/libintl = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/libiconv = "external-csl-toolchain" -PREFERRED_PROVIDER_glibc-thread-db = "external-csl-toolchain" -PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-csl-toolchain" - - -PREFERRED_VERSION_external-csl-toolchain = "2008q3-72" - -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}" diff --git a/meta/recipes-core/meta/external-csl-toolchain.bb b/meta/recipes-core/meta/external-csl-toolchain.bb new file mode 100644 index 0000000000..f1e53328b4 --- /dev/null +++ b/meta/recipes-core/meta/external-csl-toolchain.bb @@ -0,0 +1,66 @@ +inherit libc-common +inherit libc-package + +INHIBIT_DEFAULT_DEPS = "1" + +# License applies to this recipe code, not the toolchain itself +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PROVIDES = "\ + linux-libc-headers \ + virtual/${TARGET_PREFIX}gcc \ + virtual/${TARGET_PREFIX}g++ \ + virtual/${TARGET_PREFIX}gcc-initial \ + virtual/${TARGET_PREFIX}gcc-intermediate \ + virtual/${TARGET_PREFIX}binutils \ + virtual/${TARGET_PREFIX}libc-for-gcc \ + virtual/${TARGET_PREFIX}compilerlibs \ + virtual/libc \ + virtual/libintl \ + virtual/libiconv \ + glibc-thread-db \ + libgcc \ + virtual/linux-libc-headers " +RPROVIDES = "glibc-utils libsegfault glibc-thread-db" +PACKAGES_DYNAMIC = "glibc-gconv-*" +PR = "r2" + +#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2" + +SRC_URI = "file://SUPPORTED" + +do_install() { + install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir} + install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} + + cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/lib/* ${D}${base_libdir} + cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/etc/* ${D}${sysconfdir} + cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/sbin/* ${D}${base_sbindir} + cp -a ${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/libc/usr/* ${D}/usr + + sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so + sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so +} + +GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" + +PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers linux-libc-headers-dev" +FILES_libgcc = "${base_libdir}/libgcc_s.so.1" +FILES_libgcc-dev = "${base_libdir}/libgcc_s.so" +FILES_libstdc++ = "${libdir}/libstdc++.so.*" +FILES_libstdc++-dev = "${includedir}/c++/${PV} \ + ${libdir}/libstdc++.so \ + ${libdir}/libstdc++.la \ + ${libdir}/libstdc++.a \ + ${libdir}/libsupc++.la \ + ${libdir}/libsupc++.a" +FILES_linux-libc-headers = "${includedir}/asm* \ + ${includedir}/linux \ + ${includedir}/mtd \ + ${includedir}/rdma \ + ${includedir}/scsi \ + ${includedir}/sound \ + ${includedir}/video \ +" diff --git a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb deleted file mode 100644 index b5a3607657..0000000000 --- a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb +++ /dev/null @@ -1,66 +0,0 @@ -inherit libc-common -inherit libc-package - -INHIBIT_DEFAULT_DEPS = "1" - -# License applies to this recipe code, not the toolchain itself -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ - file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" - -PROVIDES = "\ - linux-libc-headers \ - virtual/arm-none-linux-gnueabi-gcc \ - virtual/arm-none-linux-gnueabi-g++ \ - virtual/arm-none-linux-gnueabi-gcc-initial \ - virtual/arm-none-linux-gnueabi-gcc-intermediate \ - virtual/arm-none-linux-gnueabi-binutils \ - virtual/arm-none-linux-gnueabi-libc-for-gcc \ - virtual/arm-none-linux-gnueabi-compilerlibs \ - virtual/libc \ - virtual/libintl \ - virtual/libiconv \ - glibc-thread-db \ - libgcc \ - virtual/linux-libc-headers " -RPROVIDES = "glibc-utils libsegfault glibc-thread-db" -PACKAGES_DYNAMIC = "glibc-gconv-*" -PR = "r2" - -#SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-${PV}-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2" - -SRC_URI = "file://SUPPORTED" - -do_install() { - install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir} - install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} - - cp -a ${EXTERNAL_TOOLCHAIN}/arm-none-linux-gnueabi/libc/lib/* ${D}${base_libdir} - cp -a ${EXTERNAL_TOOLCHAIN}/arm-none-linux-gnueabi/libc/etc/* ${D}${sysconfdir} - cp -a ${EXTERNAL_TOOLCHAIN}/arm-none-linux-gnueabi/libc/sbin/* ${D}${base_sbindir} - cp -a ${EXTERNAL_TOOLCHAIN}/arm-none-linux-gnueabi/libc/usr/* ${D}/usr - - sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so - sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so -} - -GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" - -PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers linux-libc-headers-dev" -FILES_libgcc = "${base_libdir}/libgcc_s.so.1" -FILES_libgcc-dev = "${base_libdir}/libgcc_s.so" -FILES_libstdc++ = "${libdir}/libstdc++.so.*" -FILES_libstdc++-dev = "${includedir}/c++/${PV} \ - ${libdir}/libstdc++.so \ - ${libdir}/libstdc++.la \ - ${libdir}/libstdc++.a \ - ${libdir}/libsupc++.la \ - ${libdir}/libsupc++.a" -FILES_linux-libc-headers = "${includedir}/asm* \ - ${includedir}/linux \ - ${includedir}/mtd \ - ${includedir}/rdma \ - ${includedir}/scsi \ - ${includedir}/sound \ - ${includedir}/video \ -" -- cgit 1.2.3-korg