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

(From OE-Core rev: 8fb1c84f4cadf8d7a061fd6d90d270c19b474bfe)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Christopher Larson 2012-01-27 11:13:43 -06:00 committed by Richard Purdie
parent aa2c4e3879
commit ae21dc189f
3 changed files with 18 additions and 9 deletions

View File

@ -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
}

View File

@ -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 "

View File

@ -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 \
"