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 ) 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 ; 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 ; 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 ; Fri, 11 Mar 2011 04:22:44 +0000 (UTC) From: "Mike Frysinger" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Frysinger" 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: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 371cf6d891fccb295694a75c77c42504 commit: 0c97183c740cc8bc22eb11ec86a9cc94b3155fc5 Author: Mike Frysinger gentoo org> AuthorDate: Thu Mar 10 07:45:24 2011 +0000 Commit: Mike Frysinger gentoo 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 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 }