diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-08-10 08:08:06 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2010-08-10 08:08:06 +0000 |
commit | 03cf52cb6369f8b6e9abcc74c0f92c5b6292881c (patch) | |
tree | 9c11e8b0d7afdbc2ccdb7f956968a6e347448f73 /sys-libs | |
parent | Version bump, bail out if cache_purge is used without fastcgi or uwsgi (upstr... (diff) | |
download | gentoo-2-03cf52cb6369f8b6e9abcc74c0f92c5b6292881c.tar.gz gentoo-2-03cf52cb6369f8b6e9abcc74c0f92c5b6292881c.tar.bz2 gentoo-2-03cf52cb6369f8b6e9abcc74c0f92c5b6292881c.zip |
Fork eblits for stable glibc, and convert unstable to `emake`.
(Portage version: 2.2_rc67/cvs/Linux x86_64)
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 9 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit | 208 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_compile.eblit | 8 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_install-2.11.2.eblit | 252 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_install.eblit | 13 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_test-2.11.2.eblit | 42 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_test.eblit | 8 |
7 files changed, 523 insertions, 17 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 865a0a252b88..5d1ab0a9e593 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.704 2010/08/09 18:06:27 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.705 2010/08/10 08:08:06 vapier Exp $ + + 10 Aug 2010; Mike Frysinger <vapier@gentoo.org> + +files/eblits/src_compile-2.11.2.eblit, + +files/eblits/src_install-2.11.2.eblit, +files/eblits/src_test-2.11.2.eblit, + files/eblits/src_compile.eblit, files/eblits/src_install.eblit, + files/eblits/src_test.eblit: + Fork eblits for stable glibc, and convert unstable to `emake`. 09 Aug 2010; Mike Frysinger <vapier@gentoo.org> glibc-2.11.2.ebuild, glibc-2.12.1.ebuild: diff --git a/sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit b/sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit new file mode 100644 index 000000000000..d84b86d2c643 --- /dev/null +++ b/sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit @@ -0,0 +1,208 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile-2.11.2.eblit,v 1.1 2010/08/10 08:08:05 vapier Exp $ + +glibc_do_configure() { + local myconf + + # set addons + pushd "${S}" > /dev/null + local ADDONS=$(echo */configure | sed \ + -e 's:/configure::g' \ + -e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \ + -e 's: \+$::' \ + -e 's! !,!g' \ + -e 's!^!,!' \ + -e '/^,\*$/d') + [[ -d ports ]] && ADDONS="${ADDONS},ports" + popd > /dev/null + + use nls || myconf="${myconf} --disable-nls" + myconf="${myconf} $(use_enable hardened stackguard-randomization)" + if [[ $(<"${T}"/.ssp.compat) == "yes" ]] ; then + myconf="${myconf} --enable-old-ssp-compat" + else + myconf="${myconf} --disable-old-ssp-compat" + fi + + use glibc-omitfp && myconf="${myconf} --enable-omitfp" + + [[ ${CTARGET//_/-} == *-softfloat-* ]] && myconf="${myconf} --without-fp" + + if [[ $1 == "linuxthreads" ]] ; then + if want_tls ; then + myconf="${myconf} --with-tls" + + if ! want__thread || use glibc-compat20 || [[ ${LT_KER_VER} == 2.[02].* ]] ; then + myconf="${myconf} --without-__thread" + else + myconf="${myconf} --with-__thread" + fi + else + myconf="${myconf} --without-tls --without-__thread" + fi + + myconf="${myconf} --disable-sanity-checks" + myconf="${myconf} --enable-add-ons=linuxthreads${ADDONS}" + myconf="${myconf} --enable-kernel=${LT_KER_VER}" + elif [[ $1 == "nptl" ]] ; then + myconf="${myconf} --enable-add-ons=nptl${ADDONS}" + myconf="${myconf} --enable-kernel=${NPTL_KERN_VER}" + else + die "invalid pthread option" + fi + + # Since SELinux support is only required for nscd, only enable it if: + # 1. USE selinux + # 2. only for the primary ABI on multilib systems + # 3. Not a crosscompile + if ! is_crosscompile && use selinux ; then + if use multilib || has_multilib_profile ; then + if is_final_abi ; then + myconf="${myconf} --with-selinux" + else + myconf="${myconf} --without-selinux" + fi + else + myconf="${myconf} --with-selinux" + fi + else + myconf="${myconf} --without-selinux" + fi + + myconf="${myconf} + --without-cvs + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + $(use_enable profile) + $(use_with gd) + --with-headers=$(alt_build_headers) + --prefix=/usr + --libdir=/usr/$(get_libdir) + --mandir=/usr/share/man + --infodir=/usr/share/info + --libexecdir=/usr/$(get_libdir)/misc/glibc + ${EXTRA_ECONF}" + + # There is no configure option for this and we need to export it + # since the glibc build will re-run configure on itself + export libc_cv_slibdir=/$(get_libdir) + + has_version app-admin/eselect-compiler || export CC=$(tc-getCC ${CTARGET}) + + local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-$1 + mkdir -p "${GBUILDDIR}" + cd "${GBUILDDIR}" + einfo "Configuring GLIBC for $1 with: ${myconf// /\n\t\t}" + "${S}"/configure ${myconf} || die "failed to configure glibc" + + # since we'll be punting them for cross-compilers, and they can cause + # problems (ia64+static), we'll just skip building altogether + is_crosscompile && sed -i '1ibuild-programs = no' config.make +} + +toolchain-glibc_src_compile() { + echo + local v + for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC CFLAGS ; do + einfo " $(printf '%15s' ${v}:) ${!v}" + done + echo + + if want_linuxthreads ; then + glibc_do_configure linuxthreads + einfo "Building GLIBC with linuxthreads..." + make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" + fi + if want_nptl ; then + # ... and then do the optional nptl build + unset LD_ASSUME_KERNEL + glibc_do_configure nptl + einfo "Building GLIBC with NPTL..." + make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" + fi +} + +toolchain-glibc_headers_compile() { + local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers + mkdir -p "${GBUILDDIR}" + cd "${GBUILDDIR}" + + # if we don't have a compiler yet, we cant really test it now ... + # hopefully they don't affect header geneation, so let's hope for + # the best here ... + export \ + libc_cv_386_tls=yes \ + libc_cv_asm_cfi_directives=yes \ + libc_cv_broken_visibility_attribute=no \ + libc_cv_gcc___thread=yes \ + libc_cv_mlong_double_128=yes \ + libc_cv_mlong_double_128ibm=yes \ + libc_cv_ppc_machine=yes \ + libc_cv_visibility_attribute=yes \ + libc_cv_z_combreloc=yes \ + libc_cv_z_execstack=yes \ + libc_cv_z_initfirst=yes \ + libc_cv_z_nodelete=yes \ + libc_cv_z_nodlopen=yes \ + libc_cv_z_relro=yes + + # Pick out the correct location for build headers + local ports="" myconf="--disable-sanity-checks --enable-hacker-mode" + [[ -d ${S}/ports ]] && ports=",ports" + myconf="${myconf} + --enable-add-ons=nptl${ports} + --without-cvs + --enable-bind-now + --build=${CBUILD_OPT:-${CBUILD}} + --host=${CTARGET_OPT:-${CTARGET}} + --with-headers=$(alt_build_headers) + --prefix=/usr + ${EXTRA_ECONF}" + + # Nothing is compiled here which would affect the headers for the target. + # so forcing CC/CFLAGS is sane. unless you dont have `gcc`. then i + # dont care :p. + einfo "Configuring GLIBC headers with: ${myconf// /\n\t\t}" + CC=gcc \ + CFLAGS="-O1 -pipe" \ + "${S}"/configure ${myconf} || die "failed to configure glibc" +} + +eblit-glibc-src_compile() { + if is_crosscompile ; then + export \ + libc_cv_c_cleanup=yes \ + libc_cv_forced_unwind=yes + fi + + if just_headers ; then + toolchain-glibc_headers_compile + return + fi + + setup_env + + if [[ -z ${OABI} ]] ; then + local abilist="" + if has_multilib_profile ; then + abilist=$(get_install_abis) + einfo "Building multilib glibc for ABIs: ${abilist}" + elif is_crosscompile || tc-is-cross-compiler ; then + abilist=${DEFAULT_ABI} + fi + if [[ -n ${abilist} ]] ; then + OABI=${ABI} + for ABI in ${abilist} ; do + export ABI + src_compile + done + ABI=${OABI} + unset OABI + return 0 + fi + fi + + toolchain-glibc_src_compile +} diff --git a/sys-libs/glibc/files/eblits/src_compile.eblit b/sys-libs/glibc/files/eblits/src_compile.eblit index 2dbc3fa0005d..19ae7a840fef 100644 --- a/sys-libs/glibc/files/eblits/src_compile.eblit +++ b/sys-libs/glibc/files/eblits/src_compile.eblit @@ -1,6 +1,6 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.10 2009/11/06 00:33:03 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.11 2010/08/10 08:08:05 vapier Exp $ glibc_do_configure() { local myconf @@ -113,14 +113,14 @@ toolchain-glibc_src_compile() { if want_linuxthreads ; then glibc_do_configure linuxthreads einfo "Building GLIBC with linuxthreads..." - make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" + emake || die "make for ${ABI} failed" fi if want_nptl ; then # ... and then do the optional nptl build unset LD_ASSUME_KERNEL glibc_do_configure nptl einfo "Building GLIBC with NPTL..." - make PARALLELMFLAGS="${MAKEOPTS}" || die "make for ${ABI} failed" + emake || die "make for ${ABI} failed" fi } diff --git a/sys-libs/glibc/files/eblits/src_install-2.11.2.eblit b/sys-libs/glibc/files/eblits/src_install-2.11.2.eblit new file mode 100644 index 000000000000..ce9bbe425012 --- /dev/null +++ b/sys-libs/glibc/files/eblits/src_install-2.11.2.eblit @@ -0,0 +1,252 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install-2.11.2.eblit,v 1.1 2010/08/10 08:08:05 vapier Exp $ + +toolchain-glibc_src_install() { + local GBUILDDIR + if want_linuxthreads ; then + GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-linuxthreads + else + GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-nptl + fi + + local install_root=${D} + is_crosscompile && install_root="${install_root}/usr/${CTARGET}" + if want_linuxthreads ; then + cd "${WORKDIR}"/build-${ABI}-${CTARGET}-linuxthreads + einfo "Installing GLIBC ${ABI} with linuxthreads ..." + else # nptlonly + cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl + einfo "Installing GLIBC ${ABI} with NPTL ..." + fi + make PARALLELMFLAGS="${MAKEOPTS}" \ + install_root="${install_root}" \ + install || die + + if is_crosscompile ; then + # punt all the junk not needed by a cross-compiler + cd "${D}"/usr/${CTARGET} || die + rm -rf ./{,usr/}{bin,etc,sbin,share} ./{,usr/}*/{gconv,misc} + fi + + if want_linuxthreads && want_nptl ; then + einfo "Installing NPTL to $(alt_libdir)/tls/..." + cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl + dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl + + local l src_lib + for l in libc libm librt libpthread libthread_db ; do + # take care of shared lib first ... + l=${l}.so + if [[ -e ${l} ]] ; then + src_lib=${l} + else + src_lib=$(eval echo */${l}) + fi + cp -a ${src_lib} "${D}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}" + fperms a+rx $(alt_libdir)/tls/${l} + dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib}) + + # then grab the linker script or the symlink ... + if [[ -L ${D}$(alt_usrlibdir)/${l} ]] ; then + dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l} + else + sed \ + -e "s:/${l}:/tls/${l}:g" \ + -e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \ + "${D}"$(alt_usrlibdir)/${l} > "${D}"$(alt_usrlibdir)/nptl/${l} + fi + + # then grab the static lib ... + src_lib=${src_lib/%.so/.a} + [[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a} + cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + src_lib=${src_lib/%.a/_nonshared.a} + if [[ -e ${src_lib} ]] ; then + cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + fi + done + + # use the nptl linker instead of the linuxthreads one as the linuxthreads + # one may lack TLS support and that can be really bad for business + cp -a elf/ld.so "${D}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp" + fi + + # We'll take care of the cache ourselves + rm -f "${D}"/etc/ld.so.cache + + # Some things want this, notably ash. + dosym libbsd-compat.a $(alt_usrlibdir)/libbsd.a + + # Handle includes for different ABIs if glibc itself doesn't do it + # XXX: curr glibc should finally handle all of them correctly + #case $(tc-arch) in + # amd64|mips|ppc|s390) ;; + # *) prep_ml_includes $(alt_headers) ;; + #esac + + # When cross-compiling for a non-multilib setup, make sure we have + # lib and a proper symlink setup + if is_crosscompile && ! use multilib && ! has_multilib_profile && [[ $(get_libdir) != "lib" ]] ; then + cd "${D}"$(alt_libdir)/.. + mv $(get_libdir) lib || die + ln -s lib $(get_libdir) || die + cd "${D}"$(alt_usrlibdir)/.. + mv $(get_libdir) lib || die + ln -s lib $(get_libdir) || die + fi + + ################################################################# + # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # + # Make sure we install some symlink hacks so that when we build + # a 2nd stage cross-compiler, gcc finds the target system + # headers correctly. See gcc/doc/gccinstall.info + if is_crosscompile ; then + dosym usr/include /usr/${CTARGET}/sys-include + return 0 + fi + + # Everything past this point just needs to be done once ... + is_final_abi || return 0 + + # Make sure the non-native interp can be found on multilib systems + if has_multilib_profile ; then + case $(tc-arch) in + amd64) + [[ ! -e ${D}/lib ]] && dosym $(get_abi_LIBDIR amd64) /lib + dosym ../$(get_abi_LIBDIR x86)/ld-linux.so.2 /lib/ld-linux.so.2 + ;; + ppc64) + [[ ! -e ${D}/lib ]] && dosym $(get_abi_LIBDIR ppc64) /lib + dosym ../$(get_abi_LIBDIR ppc)/ld.so.1 /lib/ld.so.1 + ;; + esac + fi + + # Files for Debian-style locale updating + dodir /usr/share/i18n + sed \ + -e "/^#/d" \ + -e "/SUPPORTED-LOCALES=/d" \ + -e "s: \\\\::g" -e "s:/: :g" \ + "${S}"/localedata/SUPPORTED > "${D}"/usr/share/i18n/SUPPORTED \ + || die "generating /usr/share/i18n/SUPPORTED failed" + cd "${WORKDIR}"/extra/locale + dosbin locale-gen || die + doman *.[0-8] + insinto /etc + doins locale.gen || die + + # Make sure all the ABI's can find the locales and so we only + # have to generate one set + local a + keepdir /usr/$(get_libdir)/locale + for a in $(get_install_abis) ; do + if [[ ! -e ${D}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then + dosym /usr/$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale + fi + done + + if ! has noinfo ${FEATURES} && [[ -n ${INFOPAGE_VER} ]] ; then + einfo "Installing info pages..." + + make \ + -C "${GBUILDDIR}" \ + PARALLELMFLAGS="${MAKEOPTS}" \ + install_root="${install_root}" \ + info -i || die + fi + + if [[ -n ${MANPAGE_VER} ]] ; then + einfo "Installing man pages..." + + # Install linuxthreads man pages even if nptl is enabled + cd "${WORKDIR}"/man + doman *.3thr + fi + + cd "${S}" + + # Install misc network config files + insinto /etc + doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf || die + doins "${WORKDIR}"/extra/etc/*.conf || die + doinitd "${WORKDIR}"/extra/etc/nscd || die + + sed -i -e "s:@PIDFILE@:$(strings "${D}"/usr/sbin/nscd | grep nscd.pid):" "${D}"/etc/init.d/nscd + + echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc + doenvd "${T}"/00glibc || die + + dodoc BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README* + + # Prevent overwriting of the /etc/localtime symlink. We'll handle the + # creation of the "factory" symlink in pkg_postinst(). + rm -f "${D}"/etc/localtime +} + +toolchain-glibc_headers_install() { + local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers + cd "${GBUILDDIR}" + make install_root="${D}/usr/${CTARGET}" install-headers || die "install-headers failed" + # Copy over headers that are not part of install-headers ... these + # are pretty much taken verbatim from crosstool, see it for more details + insinto $(alt_headers)/bits + doins misc/syscall-list.h bits/stdio_lim.h || die "doins include bits" + insinto $(alt_headers)/gnu + doins "${S}"/include/gnu/stubs.h || die "doins include gnu" + # Make sure we install the sys-include symlink so that when + # we build a 2nd stage cross-compiler, gcc finds the target + # system headers correctly. See gcc/doc/gccinstall.info + dosym usr/include /usr/${CTARGET}/sys-include +} + +src_strip() { + # gdb is lame and requires some debugging information to remain in + # libpthread, so we need to strip it by hand. libthread_db makes no + # sense stripped as it is only used when debugging. + local pthread=$(hasq splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") + env \ + -uRESTRICT \ + CHOST=${CTARGET} \ + STRIP_MASK="/*/{,tls/}${pthread}*" \ + prepallstrip + # if user has stripping enabled and does not have split debug turned on, + # then leave the debugging sections in libpthread. + if ! hasq nostrip ${FEATURES} && ! hasq splitdebug ${FEATURES} ; then + ${STRIP:-${CTARGET}-strip} --strip-debug "${D}"/*/libpthread-*.so + fi +} + +eblit-glibc-src_install() { + if just_headers ; then + toolchain-glibc_headers_install + return + fi + + setup_env + + if [[ -z ${OABI} ]] ; then + local abilist="" + if has_multilib_profile ; then + abilist=$(get_install_abis) + einfo "Installing multilib glibc for ABIs: ${abilist}" + elif is_crosscompile || tc-is-cross-compiler ; then + abilist=${DEFAULT_ABI} + fi + if [[ -n ${abilist} ]] ; then + OABI=${ABI} + for ABI in ${abilist} ; do + export ABI + eblit-glibc-src_install + done + ABI=${OABI} + unset OABI + src_strip + return 0 + fi + fi + + toolchain-glibc_src_install + [[ -z ${OABI} ]] && src_strip +} diff --git a/sys-libs/glibc/files/eblits/src_install.eblit b/sys-libs/glibc/files/eblits/src_install.eblit index 65a4ae89895b..b61457a8e866 100644 --- a/sys-libs/glibc/files/eblits/src_install.eblit +++ b/sys-libs/glibc/files/eblits/src_install.eblit @@ -1,6 +1,6 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.9 2009/12/19 23:44:54 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.10 2010/08/10 08:08:05 vapier Exp $ toolchain-glibc_src_install() { local GBUILDDIR @@ -19,9 +19,7 @@ toolchain-glibc_src_install() { cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl einfo "Installing GLIBC ${ABI} with NPTL ..." fi - make PARALLELMFLAGS="${MAKEOPTS}" \ - install_root="${install_root}" \ - install || die + emake install_root="${install_root}" install || die if is_crosscompile ; then # punt all the junk not needed by a cross-compiler @@ -150,9 +148,8 @@ toolchain-glibc_src_install() { if ! has noinfo ${FEATURES} && [[ -n ${INFOPAGE_VER} ]] ; then einfo "Installing info pages..." - make \ + emake \ -C "${GBUILDDIR}" \ - PARALLELMFLAGS="${MAKEOPTS}" \ install_root="${install_root}" \ info -i || die fi @@ -188,7 +185,7 @@ toolchain-glibc_src_install() { toolchain-glibc_headers_install() { local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers cd "${GBUILDDIR}" - make install_root="${D}/usr/${CTARGET}" install-headers || die "install-headers failed" + emake install_root="${D}/usr/${CTARGET}" install-headers || die "install-headers failed" # Copy over headers that are not part of install-headers ... these # are pretty much taken verbatim from crosstool, see it for more details insinto $(alt_headers)/bits diff --git a/sys-libs/glibc/files/eblits/src_test-2.11.2.eblit b/sys-libs/glibc/files/eblits/src_test-2.11.2.eblit new file mode 100644 index 000000000000..ec8181053f31 --- /dev/null +++ b/sys-libs/glibc/files/eblits/src_test-2.11.2.eblit @@ -0,0 +1,42 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_test-2.11.2.eblit,v 1.1 2010/08/10 08:08:05 vapier Exp $ + +toolchain-glibc_src_test() { + cd "${WORKDIR}"/build-${ABI}-${CTARGET}-$1 || die "cd build-${ABI}-${CTARGET}-$1" + unset LD_ASSUME_KERNEL + make check && return 0 + einfo "make check failed - re-running with --keep-going to get the rest of the results" + make -k check + ewarn "make check failed for ${ABI}-${CTARGET}-$1" + return 1 +} + +eblit-glibc-src_test() { + local ret=0 + + setup_env + + # give tests more time to complete + export TIMEOUTFACTOR=5 + + if [[ -z ${OABI} ]] && has_multilib_profile ; then + OABI=${ABI} + einfo "Testing multilib glibc for ABIs: $(get_install_abis)" + for ABI in $(get_install_abis) ; do + export ABI + einfo " Testing ${ABI} glibc" + src_test + ((ret+=$?)) + done + ABI=${OABI} + unset OABI + [[ ${ret} -ne 0 ]] \ + && die "tests failed" \ + || return 0 + fi + + want_linuxthreads && toolchain-glibc_src_test linuxthreads ; ((ret+=$?)) + want_nptl && toolchain-glibc_src_test nptl ; ((ret+=$?)) + return ${ret} +} diff --git a/sys-libs/glibc/files/eblits/src_test.eblit b/sys-libs/glibc/files/eblits/src_test.eblit index 0d733a3519d0..edcdac71de99 100644 --- a/sys-libs/glibc/files/eblits/src_test.eblit +++ b/sys-libs/glibc/files/eblits/src_test.eblit @@ -1,13 +1,13 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_test.eblit,v 1.3 2008/03/23 18:06:18 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_test.eblit,v 1.4 2010/08/10 08:08:05 vapier Exp $ toolchain-glibc_src_test() { cd "${WORKDIR}"/build-${ABI}-${CTARGET}-$1 || die "cd build-${ABI}-${CTARGET}-$1" unset LD_ASSUME_KERNEL - make check && return 0 + emake -j1 check && return 0 einfo "make check failed - re-running with --keep-going to get the rest of the results" - make -k check + emake -j1 -k check ewarn "make check failed for ${ABI}-${CTARGET}-$1" return 1 } |