From 8fb1c84f4cadf8d7a061fd6d90d270c19b474bfe Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Fri, 27 Jan 2012 11:13:43 -0600 Subject: external-csl-toolchain: fixes for metadata changes These allow the recipe to build again: - add compilerlibs, g++, libgcc to the provides - add linux-libc-headers-dev to the packages - in libc-package, only sed the ldd.bash.in file if it exists, as the external toolchain is using that class as well - shift the inherit location of the libc classes, as they were overriding the recipe's do_install - use ?= for EXTERNAL_TOOLCHAIN, so the user can set it Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- meta/classes/libc-package.bbclass | 4 +++- meta/conf/distro/include/tcmode-external-csl2008q3.inc | 7 ++++++- .../meta/external-csl-toolchain_2008q3-72.bb | 16 +++++++++------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass index 440218fcae..4acf91a1ff 100644 --- a/meta/classes/libc-package.bbclass +++ b/meta/classes/libc-package.bbclass @@ -40,7 +40,9 @@ python __anonymous () { OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}" do_configure_prepend() { - sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in + if [ -e ${S}/elf/ldd.bash.in ]; then + sed -e "s#@BASH@#/bin/sh#" -i ${S}/elf/ldd.bash.in + fi } diff --git a/meta/conf/distro/include/tcmode-external-csl2008q3.inc b/meta/conf/distro/include/tcmode-external-csl2008q3.inc index 15863651a2..31055dcab4 100644 --- a/meta/conf/distro/include/tcmode-external-csl2008q3.inc +++ b/meta/conf/distro/include/tcmode-external-csl2008q3.inc @@ -4,22 +4,27 @@ TARGET_VENDOR = "-none" -EXTERNAL_TOOLCHAIN = "/usr/local/csl/arm-2008q3" +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 " diff --git a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb index a874c8b15a..b5a3607657 100644 --- a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb +++ b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb @@ -1,7 +1,12 @@ +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 \ @@ -11,21 +16,22 @@ PROVIDES = "\ 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 = "r1" +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() { - echo "EXTERNAL_TOOLCHAIN is ${EXTERNAL_TOOLCHAIN}" install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir} install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} @@ -40,10 +46,7 @@ do_install() { GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile" -inherit libc-common -inherit libc-package - -PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers" +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.*" @@ -61,4 +64,3 @@ FILES_linux-libc-headers = "${includedir}/asm* \ ${includedir}/sound \ ${includedir}/video \ " - -- cgit v1.2.3