diff options
-rw-r--r-- | eclass/multilib.eclass | 18 | ||||
-rw-r--r-- | eclass/toolchain-binutils.eclass | 16 | ||||
-rw-r--r-- | eclass/toolchain.eclass | 9 |
3 files changed, 30 insertions, 13 deletions
diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass index 160142ad2a40..c041a5df74e7 100644 --- a/eclass/multilib.eclass +++ b/eclass/multilib.eclass @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.42 2005/10/10 21:18:15 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.43 2005/10/12 22:39:07 vapier Exp $ # # Author: Jeremy Huddleston <eradicator@gentoo.org> # @@ -609,6 +609,22 @@ multilib_env() { export MULTILIB_ABIS="ppc64 ppc" export DEFAULT_ABI="ppc64" ;; + s390x*) + export CFLAGS_s390=${CFLAGS_s390--m31} # the 31 is not a typo + export CHOST_s390=${CTARGET/s390x/s390} + export CTARGET_s390=${CHOST_s390} + export CDEFINE_s390="!__s390x__" + export LIBDIR_s390="lib" + + export CFLAGS_s390x=${CFLAGS_s390x--m64} + export CHOST_s390x=${CTARGET} + export CTARGET_s390x=${CHOST_s390x} + export CDEFINE_s390x="__s390x__" + export LIBDIR_s390x="lib64" + + export MULTILIB_ABIS="s390x s390" + export DEFAULT_ABI="s390x" + ;; sparc64*) export CFLAGS_sparc32=${CFLAGS_sparc32--m32} export CHOST_sparc32=${CTARGET/sparc64/sparc} diff --git a/eclass/toolchain-binutils.eclass b/eclass/toolchain-binutils.eclass index 6293ec7a4327..3139f3399365 100644 --- a/eclass/toolchain-binutils.eclass +++ b/eclass/toolchain-binutils.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-binutils.eclass,v 1.45 2005/09/23 23:52:33 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain-binutils.eclass,v 1.46 2005/10/12 22:39:24 vapier Exp $ # We install binutils into CTARGET-VERSION specific directories. This lets # us easily merge multiple versions for multiple targets (if we wish) and @@ -185,14 +185,18 @@ toolchain-binutils_src_install() { # we want to tell binutils-config that it's cool if # it generates multiple sets of binutil symlinks. # e.g. sparc gets {sparc,sparc64}-unknown-linux-gnu - local targ=${CTARGET/-*} + local targ=${CTARGET/-*} src="" dst="" local FAKE_TARGETS=${CTARGET} case ${targ} in - mips64*|powerpc64|sparc64*) - FAKE_TARGETS="${FAKE_TARGETS} ${CTARGET/64-/-}";; - mips*|powerpc|sparc*) - FAKE_TARGETS="${FAKE_TARGETS} ${CTARGET/-/64-}";; + mips*) src="mips" dst="mips64";; + powerpc*) src="powerpc" dst="powerpc64";; + s390*) src="s390" dst="s390x";; + sparc*) src="sparc" dst="sparc64";; esac + case ${targ} in + mips64*|powerpc64*|s390x*|sparc64*) targ=${src} src=${dst} dst=${targ};; + esac + [[ -n ${src}${dst} ]] && FAKE_TARGETS="${FAKE_TARGETS} ${CTARGET/${src}/${dst}}" # Generate an env.d entry for this binutils cd "${S}" diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 49c42652d0be..4c413e1685f6 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.208 2005/10/11 23:53:59 eradicator Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/toolchain.eclass,v 1.209 2005/10/12 22:39:57 vapier Exp $ HOMEPAGE="http://www.gnu.org/software/gcc/gcc.html" LICENSE="GPL-2 LGPL-2.1" @@ -1343,7 +1343,7 @@ gcc_do_filter_flags() { strip-unsupported-flags # dont want to funk ourselves - filter-flags '-mabi*' -m32 -m64 + filter-flags '-mabi*' -m31 -m32 -m64 case ${GCC_BRANCH_VER} in 3.2|3.3) @@ -2132,11 +2132,8 @@ fix_libtool_libdir_paths() { is_multilib() { case ${CTARGET} in - *-uclibc) false ;; - - x86_64*|mips64*|powerpc64*|sparc64*) + mips64*|powerpc64*|s390x*|sparc64*|x86_64*) has_multilib_profile || use multilib ;; - *) false ;; esac } |