From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 36D831384C3 for ; Sun, 6 Sep 2015 02:29:45 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9FD541420D; Sun, 6 Sep 2015 02:29:43 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 461191420D for ; Sun, 6 Sep 2015 02:29:43 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id F1363340973 for ; Sun, 6 Sep 2015 02:29:39 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id D69A8155 for ; Sun, 6 Sep 2015 02:29:37 +0000 (UTC) From: "Mike Gilbert" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Mike Gilbert" Message-ID: <1441506520.b785bd6de7e4fedada8f301d6a29d8d3cf2c2fad.floppym@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-boot/gnu-efi/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild X-VCS-Directories: sys-boot/gnu-efi/ X-VCS-Committer: floppym X-VCS-Committer-Name: Mike Gilbert X-VCS-Revision: b785bd6de7e4fedada8f301d6a29d8d3cf2c2fad X-VCS-Branch: master Date: Sun, 6 Sep 2015 02:29:37 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 19f756d0-7ab0-4b5d-9809-0e607d6e9768 X-Archives-Hash: c6ba2e4a8839bdc65eeed073c65a980b commit: b785bd6de7e4fedada8f301d6a29d8d3cf2c2fad Author: Mike Gilbert gentoo org> AuthorDate: Sun Sep 6 02:28:29 2015 +0000 Commit: Mike Gilbert gentoo org> CommitDate: Sun Sep 6 02:28:40 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b785bd6d sys-boot/gnu-efi: Support building ia32 EFI libs on amd64 Package-Manager: portage-2.2.20 sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild | 55 +++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild b/sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild index f79b3b2..9c6a09f 100644 --- a/sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild +++ b/sys-boot/gnu-efi/gnu-efi-3.0.3.ebuild @@ -13,7 +13,7 @@ SRC_URI="mirror://sourceforge/gnu-efi/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="-* ~amd64 ~ia64 ~x86" -IUSE="" +IUSE="abi_x86_32 abi_x86_64" DEPEND="sys-apps/pciutils" RDEPEND="" @@ -21,29 +21,48 @@ RDEPEND="" # These objects get run early boot (i.e. not inside of Linux), # so doing these QA checks on them doesn't make sense. QA_EXECSTACK="usr/*/lib*efi.a:* usr/*/crt*.o" +RESTRICT="strip" -_emake() { - emake \ - prefix=${CHOST}- \ - ARCH=${iarch} \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR='$(PREFIX)/'"$(get_libdir)" \ - "$@" +efimake() { + local arch= + case ${CHOST} in + arm*) arch=arm ;; + aarch64*) arch=aarch64 ;; + ia64*) arch=ia64 ;; + i?86*) arch=ia32 ;; + x86_64*) arch=x86_64 ;; + *) die "Unknown CHOST" ;; + esac + + local args=( + ARCH="${arch}" + HOSTCC="${BUILD_CC}" + CC="${CC}" + AS="${AS}" + LD="${LD}" + AR="${AR}" + PREFIX="${EPREFIX}/usr" + LIBDIR='$(PREFIX)'/$(get_libdir) + ) + emake -j1 "${args[@]}" "$@" } src_compile() { - case ${ARCH} in - ia64) iarch=ia64 ;; - x86) iarch=ia32 ;; - amd64) iarch=x86_64 ;; - *) die "unknown architecture: $ARCH" ;; - esac - # The lib subdir uses unsafe archive targets, and - # the apps subdir needs gnuefi subdir - _emake -j1 + tc-export BUILD_CC AR AS CC LD + if [[ ${CHOST} == x86_64* ]]; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake + use abi_x86_64 && efimake + else + efimake + fi } src_install() { - _emake install PREFIX=/usr INSTALLROOT="${D}" + if [[ ${CHOST} == x86_64* ]]; then + use abi_x86_32 && CHOST=i686 ABI=x86 efimake INSTALLROOT="${D}" install + use abi_x86_64 && efimake INSTALLROOT="${D}" install + else + efimake INSTALLROOT="${D}" install + fi dodoc README* ChangeLog }