diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-12-05 06:24:01 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-12-05 06:24:01 +0000 |
commit | 8bf24b91edbc5bd89298479cc4d921571dbca5b9 (patch) | |
tree | 483176d8be9b3c27373956f10b26a380d8e58b93 /eclass/toolchain.eclass | |
parent | Version bump #113623 by Nickolay Kolchin-Semyonov. (diff) | |
download | gentoo-2-8bf24b91edbc5bd89298479cc4d921571dbca5b9.tar.gz gentoo-2-8bf24b91edbc5bd89298479cc4d921571dbca5b9.tar.bz2 gentoo-2-8bf24b91edbc5bd89298479cc4d921571dbca5b9.zip |
use the multilib.out file generated by the gcc build system itself and pass -B when trying to calc the multilib paths like gcc build files does
Diffstat (limited to 'eclass/toolchain.eclass')
-rw-r--r-- | eclass/toolchain.eclass | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index ba4d9f52890a..476c6a727694 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.226 2005/12/05 05:04:28 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.227 2005/12/05 06:24:01 vapier Exp $ HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" LICENSE="GPL-2 LGPL-2.1" @@ -661,7 +661,7 @@ create_gcc_env_entry() { # XXX: This breaks when cross-compiling a native compiler (CBUILD != CHOST) local abi=${DEFAULT_ABI} - local MULTIDIR=$(${XGCC} $(get_abi_CFLAGS ${abi}) --print-multi-directory) + local MULTIDIR=$(${XGCC} -B./ $(get_abi_CFLAGS ${abi}) --print-multi-directory) if [[ ${MULTIDIR} == "." ]] ; then LDPATH=${LIBPATH} else @@ -671,7 +671,7 @@ create_gcc_env_entry() { for abi in $(get_all_abis) ; do [[ ${abi} == ${DEFAULT_ABI} ]] && continue - MULTIDIR=$(${XGCC} $(get_abi_CFLAGS ${abi}) --print-multi-directory) + MULTIDIR=$(${XGCC} -B./ $(get_abi_CFLAGS ${abi}) --print-multi-directory) if [[ ${MULTIDIR} == "." ]] ; then LDPATH=${LDPATH}:${LIBPATH} else @@ -739,7 +739,7 @@ add_profile_eselect_conf() { fi fi - local MULTIDIR=$(${XGCC} $(get_abi_CFLAGS ${abi}) --print-multi-directory) + local MULTIDIR=$(${XGCC} -B./ $(get_abi_CFLAGS ${abi}) --print-multi-directory) local LDPATH=${LIBPATH} if [[ ${MULTIDIR} != "." ]] ; then LDPATH="${LIBPATH}/${MULTIDIR}" @@ -1659,13 +1659,14 @@ gcc-compiler_src_install() { gcc_movelibs() { # XXX: This breaks when cross-compiling a native compiler (CBUILD != CHOST) + local multilibout=$(<multilib.out) || die "could not read multilib.out" local multiarg - for multiarg in $(${XGCC} -print-multi-lib) ; do + for multiarg in ${multilibout} ; do multiarg=${multiarg#*;} multiarg=${multiarg//@/-} - local OS_MULTIDIR=$(${XGCC} ${multiarg} --print-multi-os-directory) - local MULTIDIR=$(${XGCC} ${multiarg} --print-multi-directory) + local OS_MULTIDIR=$(${XGCC} -B./ ${multiarg} --print-multi-os-directory) + local MULTIDIR=$(${XGCC} -B./ ${multiarg} --print-multi-directory) local TODIR=${D}${LIBPATH}/${MULTIDIR} local FROMDIR= |