From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-324328-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1PxtsL-0002jQ-GP
	for garchives@archives.gentoo.org; Fri, 11 Mar 2011 04:22:53 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id A5F71E0230;
	Fri, 11 Mar 2011 04:22:45 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 63EE7E0230
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Mar 2011 04:22:45 +0000 (UTC)
Received: from pelican.gentoo.org (unknown [66.219.59.40])
	(using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id A6D4F1B4028
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Mar 2011 04:22:44 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by pelican.gentoo.org (Postfix) with ESMTP id 10D008006A
	for <gentoo-commits@lists.gentoo.org>; Fri, 11 Mar 2011 04:22:44 +0000 (UTC)
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Mike Frysinger" <vapier@gentoo.org>
Message-ID: <0c97183c740cc8bc22eb11ec86a9cc94b3155fc5.vapier@gentoo>
Subject: [gentoo-commits] proj/crossdev:master commit in: /
X-VCS-Repository: proj/crossdev
X-VCS-Files: crossdev
X-VCS-Directories: /
X-VCS-Committer: vapier
X-VCS-Committer-Name: Mike Frysinger
X-VCS-Revision: 0c97183c740cc8bc22eb11ec86a9cc94b3155fc5
Date: Fri, 11 Mar 2011 04:22:44 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: 
X-Archives-Hash: 371cf6d891fccb295694a75c77c42504

commit:     0c97183c740cc8bc22eb11ec86a9cc94b3155fc5
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 10 07:45:24 2011 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Thu Mar 10 08:32:09 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/crossdev.git;=
a=3Dcommit;h=3D0c97183c

crossdev: add proper multilib handling

Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org>

---
 crossdev |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/crossdev b/crossdev
index 1f794fb..20d8817 100755
--- a/crossdev
+++ b/crossdev
@@ -36,6 +36,7 @@ Options:
     ${GOOD}--g, --gcc${NORMAL} ver        Specify version of gcc to use
     ${GOOD}--k, --kernel${NORMAL} ver     Specify version of kernel head=
ers to use
     ${GOOD}--l, --libc${NORMAL} ver       Specify version of libc to use
+    ${GOOD}-A, --abis${NORMAL} abis       Specify ABIs to build, first o=
ne is the default
     ${GOOD}--[bgkl]env${NORMAL} env       Specify env settings for binut=
ils/gcc/kernel/libc
     ${GOOD}-S, --stable${NORMAL}          Use latest stable versions as =
default
     ${GOOD}-C, --clean${NORMAL} target    Uninstall specified target
@@ -371,6 +372,7 @@ UOPTS=3D
 TARCH=3D
 HARCH=3D
 CTARGET=3D
+MULTILIB_ABIS=3D"default"
 STAGE=3D""
 BCAT=3D"sys-devel"  ; BPKG=3D"binutils"      ; BVER=3D"" ; BUSE=3D"" ; B=
ENV=3D""
 GCAT=3D"sys-devel"  ; GPKG=3D"gcc"           ; GVER=3D"" ; GUSE=3D"" ; G=
ENV=3D""
@@ -401,6 +403,7 @@ while [[ $# -gt 0 ]] ; do
 	--kenv)         shift; KENV=3D$1;;
 	--l|--libc)     shift; LVER=3D$1;;
 	--lenv)         shift; LENV=3D$1;;
+	-A|--abis)      shift; MULTILIB_ABIS=3D$1;;
 	-S|--stable)    DEFAULT_VER=3D"[stable]";;
 	-C|--clean)     shift; parse_target $1; uninstall;;
 	-s?|--stage?)   STAGE=3D${1:0-1};;
@@ -463,7 +466,7 @@ if [[ ${HCHOST} =3D=3D "${CTARGET}" ]] ; then
 fi
=20
 # grab user settings
-for v in ABI UCLIBC_CPU USE BVER GVER KVER LVER STAGE CFLAGS LDFLAGS ASF=
LAGS ; do
+for v in MULTILIB_ABIS UCLIBC_CPU USE BVER GVER KVER LVER STAGE CFLAGS L=
DFLAGS ASFLAGS ; do
 	d=3D"${CONFIGROOT}/crossdev/${CTARGET}"
 	if [[ -e ${d}/${v} ]] ; then
 		# yes, quotes are needed in this instance (export $var=3D"...")
@@ -475,6 +478,8 @@ for v in ABI UCLIBC_CPU USE BVER GVER KVER LVER STAGE=
 CFLAGS LDFLAGS ASFLAGS ; d
 		source "${d}"/env
 	fi
 done
+ABI=3D$(set -- ${MULTILIB_ABIS:-default}; echo $1)
+DEFAULT_ABI=3D${ABI}
=20
 #####################
 ### do the emerge ###
@@ -485,6 +490,7 @@ einfo "Host Portage ARCH:     ${HARCH}"
 einfo "Target Portage ARCH:   ${TARCH}"
 einfo "Target System:         ${CTARGET}"
 einfo "Stage:                 ${STAGE} (${STAGE_DISP[${STAGE}]})"
+einfo "ABIs:                  ${MULTILIB_ABIS}"
 echo
 ex_fast || {
 is_s0 && {
@@ -598,13 +604,15 @@ set_env() {
 	mkdir -p env/cross-${CTARGET}
=20
 	cat <<-EOF > env/cross-${CTARGET}/${pkg}
-	# make sure multilib crap doesn't screw us over
-	ABI=3D${ABI:-pos}
-	LIBDIR_pos=3D"lib"
-	CFLAGS_pos=3D
-	CPPFLAGS_pos=3D
-	CXXFLAGS_pos=3D
-	LDFLAGS_pos=3D
+	# handle multilib ourselves
+	ABI=3D${ABI}
+	MULTILIB_ABIS=3D"${MULTILIB_ABIS}"
+	DEFAULT_ABI=3D${DEFAULT_ABI}
+	LIBDIR_default=3D"lib"
+	CFLAGS_default=3D
+	CPPFLAGS_default=3D
+	CXXFLAGS_default=3D
+	LDFLAGS_default=3D
 	$(printf '%b' "${env}")
 	EOF
 }