From cfcb4ec867f797e0030c5a5f5f95ccc326bcb460 Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Mon, 9 Jul 2012 14:54:13 -0400 Subject: [PATCH] Don't emit eglibc packages from exttc if eglibc-sourcery is in use Signed-off-by: Christopher Larson --- recipes/eglibc/eglibc-package-adjusted.inc | 18 ++++++++ recipes/eglibc/eglibc-sourcery.bb | 4 +- recipes/meta/external-sourcery-toolchain.bb | 46 +++++++-------------- 3 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 recipes/eglibc/eglibc-package-adjusted.inc diff --git a/recipes/eglibc/eglibc-package-adjusted.inc b/recipes/eglibc/eglibc-package-adjusted.inc new file mode 100644 index 0000000..9cc610b --- /dev/null +++ b/recipes/eglibc/eglibc-package-adjusted.inc @@ -0,0 +1,18 @@ +require recipes-core/eglibc/eglibc-package.inc + +PKG_${PN} = "eglibc" +PKG_${PN}-dbg = "eglibc-dbg" +PKG_${PN}-dev = "eglibc-dev" +PKG_${PN}-doc = "eglibc-doc" +PKG_${PN}-extra-nss = "eglibc-extra-nss" +PKG_${PN}-gconv = "eglibc-gconv" +PKG_${PN}-mtrace = "eglibc-mtrace" +PKG_${PN}-pcprofile = "eglibc-pcprofile" +PKG_${PN}-pic = "eglibc-pic" +PKG_${PN}-staticdev = "eglibc-staticdev" +PKG_${PN}-thread-db = "eglibc-thread-db" +PKG_${PN}-utils = "eglibc-utils" + +RPROVIDES_${PN} += "${TCLIBC} eglibc" +RPROVIDES_${PN}-dbg += "${TCLIBC}-dbg eglibc-dbg" +RPROVIDES_${PN}-dev += "${TCLIBC}-dev eglibc-dev" diff --git a/recipes/eglibc/eglibc-sourcery.bb b/recipes/eglibc/eglibc-sourcery.bb index 2afdd8b..a15bd30 100644 --- a/recipes/eglibc/eglibc-sourcery.bb +++ b/recipes/eglibc/eglibc-sourcery.bb @@ -17,7 +17,7 @@ S = "${WORKDIR}/glibc-${PV}" B = "${WORKDIR}/build-${TARGET_SYS}" LIBC_VER_MAIN = "${@'-'.join(CSL_VER_MAIN.split('-')[:-1])}" PV = "${CSL_VER_LIBC}-${LIBC_VER_MAIN}" -PR = "r0" +PR = "r1" do_unpack[vardeps] += "unpack_libc" do_unpack[postfuncs] += "unpack_libc" @@ -52,4 +52,4 @@ do_configure () { CPPFLAGS="" oe_runconf } -require recipes-core/eglibc/eglibc-package.inc +require recipes/eglibc/eglibc-package-adjusted.inc diff --git a/recipes/meta/external-sourcery-toolchain.bb b/recipes/meta/external-sourcery-toolchain.bb index ed9063d..608bc3d 100644 --- a/recipes/meta/external-sourcery-toolchain.bb +++ b/recipes/meta/external-sourcery-toolchain.bb @@ -1,4 +1,6 @@ -require recipes-core/eglibc/eglibc-package.inc +ORIG_PACKAGES := "${PACKAGES}" + +require recipes/eglibc/eglibc-package-adjusted.inc INHIBIT_DEFAULT_DEPS = "1" @@ -20,7 +22,7 @@ PROVIDES = "\ libgcc \ " PV = "${CSL_VER_MAIN}" -PR = "r9" +PR = "r10" #SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${CSL_TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2" @@ -62,16 +64,8 @@ do_install() { rm ${D}${libdir}/bin/* ln -s ../../bin/gdbserver ${D}${libdir}/bin/sysroot-gdbserver - including_libc="${@base_conditional('PREFERRED_PROVIDER_virtual/libc', PN, '1', '', d)}" - if [ -n "$including_libc" ]; then - sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libc.so - sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libpthread.so - else - rm -f ${D}${base_libdir}/*.so* ${D}${libdir}/*.so* - cp -a $sysroot${base_libdir}/libgcc* ${D}${base_libdir} - cp -a $sysroot${libdir}/libstdc++* ${D}${libdir} - fi - + sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libc.so + sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libpthread.so sed -i -e 's/__packed/__attribute__ ((packed))/' ${D}${includedir}/mtd/ubi-user.h } @@ -88,8 +82,9 @@ external_toolchain_sysroot_adjust() { install -d ${SYSROOT_DESTDIR}/usr/lib } -PACKAGES =+ "libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev gdbserver gdbserver-dbg" -PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_linux-libc-headers', PN, 'linux-libc-headers linux-libc-headers-dev', '', d)}" +TC_PACKAGES =+ "libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev gdbserver gdbserver-dbg" +TC_PACKAGES =+ "${@base_conditional('PREFERRED_PROVIDER_linux-libc-headers', PN, 'linux-libc-headers linux-libc-headers-dev', '', d)}" +PACKAGES =+ "${TC_PACKAGES}" # This test should be fixed to ignore .a files in .debug dirs INSANE_SKIP_${PN}-dbg = "staticdev" @@ -100,22 +95,6 @@ INSANE_SKIP_libstdc++ += "ldflags" INSANE_SKIP_libgcc += "ldflags" INSANE_SKIP_gdbserver += "ldflags" -RPROVIDES_${PN}-dbg += "${TCLIBC}-dbg glibc-dbg" -RPROVIDES_${PN}-utils += "${TCLIBC}-utils glibc-utils" -RPROVIDES_${PN}-thread-db += "${TCLIBC}-thread-db glibc-thread-db" - -PKG_${PN} = "eglibc" -PKG_${PN}-dev = "eglibc-dev" -PKG_${PN}-staticdev = "eglibc-staticdev" -PKG_${PN}-doc = "eglibc-doc" -PKG_${PN}-dbg = "eglibc-dbg" -PKG_${PN}-pic = "eglibc-pic" -PKG_${PN}-utils = "eglibc-utils" -PKG_${PN}-gconv = "eglibc-gconv" -PKG_${PN}-extra-nss = "eglibc-extra-nss" -PKG_${PN}-thread-db = "eglibc-thread-db" -PKG_${PN}-pcprofile = "eglibc-pcprofile" - PKGV = "${CSL_VER_LIBC}" PKGV_libgcc = "${CSL_VER_GCC}" PKGV_libgcc-dev = "${CSL_VER_GCC}" @@ -151,5 +130,10 @@ CSL_VER_MAIN ??= "" python () { if not d.getVar("CSL_VER_MAIN"): raise bb.parse.SkipPackage("External CSL toolchain not configured (CSL_VER_MAIN not set).") -} + pn = d.getVar('PN', True) + if d.getVar('PREFERRED_PROVIDER_virtual/libc', True) != pn: + d.setVar('PACKAGES', '${TC_PACKAGES}') + d.delVar('PKG_%s' % pn) + d.delVar('RPROVIDES_%s' % pn) +}