summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eclass/multilib.eclass18
-rw-r--r--eclass/toolchain-binutils.eclass16
-rw-r--r--eclass/toolchain.eclass9
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
}