rhill 14/05/15 05:18:33 Modified: ChangeLog toolchain.eclass Log: Allow parallel profiledbootstrap in newer versions (bug #508878 by Eric F. Garioud). Clean up a bit.
Revision Changes Path 1.1254 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1254&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1254&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1253&r2=1.1254 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1253 retrieving revision 1.1254 diff -u -r1.1253 -r1.1254 --- ChangeLog 15 May 2014 03:18:47 -0000 1.1253 +++ ChangeLog 15 May 2014 05:18:33 -0000 1.1254 @@ -1,6 +1,10 @@ # ChangeLog for eclass directory # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1253 2014/05/15 03:18:47 grknight Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1254 2014/05/15 05:18:33 rhill Exp $ + + 15 May 2014; Ryan Hill <rh...@gentoo.org> toolchain.eclass: + Allow parallel profiledbootstrap in newer versions (bug #508878 by Eric F. + Garioud). Clean up a bit. 14 May 2014; Brian Evans <grkni...@gentoo.org> mysql-cmake.eclass, mysql-v2.eclass: 1.625 eclass/toolchain.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.625&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?rev=1.625&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/toolchain.eclass?r1=1.624&r2=1.625 Index: toolchain.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v retrieving revision 1.624 retrieving revision 1.625 diff -u -r1.624 -r1.625 --- toolchain.eclass 16 Mar 2014 18:38:37 -0000 1.624 +++ toolchain.eclass 15 May 2014 05:18:33 -0000 1.625 @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.624 2014/03/16 18:38:37 rhill Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.625 2014/05/15 05:18:33 rhill Exp $ # Maintainer: Toolchain Ninjas <toolch...@gentoo.org> @@ -1472,20 +1472,19 @@ [[ ! -x /usr/bin/perl ]] \ && find "${WORKDIR}"/build -name '*.[17]' | xargs touch - einfo "Compiling ${PN} ..." gcc_do_make ${GCC_MAKE_TARGET} } gcc_do_make() { # This function accepts one optional argument, the make target to be used. # If omitted, gcc_do_make will try to guess whether it should use all, - # profiledbootstrap, or bootstrap-lean depending on CTARGET and arch. An - # example of how to use this function: + # or bootstrap-lean depending on CTARGET and arch. + # An example of how to use this function: # # gcc_do_make all-target-libstdc++-v3 - # - # Set make target to $1 if passed + [[ -n ${1} ]] && GCC_MAKE_TARGET=${1} + # default target if is_crosscompile || tc-is-cross-compiler ; then # 3 stage bootstrapping doesnt quite work when you cant run the @@ -1495,13 +1494,11 @@ GCC_MAKE_TARGET=${GCC_MAKE_TARGET-bootstrap-lean} fi - # the gcc docs state that parallel make isnt supported for the - # profiledbootstrap target, as collisions in profile collecting may occur. + # Older versions of GCC could not do profiledbootstrap in parallel due to + # collisions with profiling info. # boundschecking also seems to introduce parallel build issues. - if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] || - use_if_iuse boundschecking - then - export MAKEOPTS="${MAKEOPTS} -j1" + if [[ ${GCC_MAKE_TARGET} == "profiledbootstrap" ]] || use_if_iuse boundschecking ; then + ! tc_version_is_at_least 4.6 && export MAKEOPTS="${MAKEOPTS} -j1" fi if [[ ${GCC_MAKE_TARGET} == "all" ]] ; then @@ -1522,6 +1519,8 @@ BOOT_CFLAGS=${BOOT_CFLAGS-"$(get_abi_CFLAGS ${TARGET_DEFAULT_ABI}) ${CFLAGS}"} fi + einfo "Compiling ${PN} (${GCC_MAKE_TARGET})..." + pushd "${WORKDIR}"/build >/dev/null emake \