# 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>
#
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}
# 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
# 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}"
# 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"
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)
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
}