--- /usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild.orig 2005-03-02 21:46:51.000000000 +0100 +++ /usr/portage/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild 2005-03-02 22:30:26.710147040 +0100 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/binutils-2.15.92.0.2-r1.ebuild,v 1.27 2005/01/23 11:53:18 eradicator Exp $ -inherit eutils libtool flag-o-matic gnuconfig +inherit eutils libtool flag-o-matic gnuconfig multilib PATCHVER="1.2" UCLIBC_PATCHVER="1.0" @@ -20,7 +20,8 @@ DEPEND="virtual/libc nls? ( sys-devel/gettext ) - !build? ( !bootstrap? ( dev-lang/perl ) )" + !build? ( !bootstrap? ( dev-lang/perl ) ) + !app-emulation/emul-linux-x86-baselibs" src_unpack() { unpack ${A} @@ -47,9 +48,38 @@ done gnuconfig_update + + if use amd64 && has_multilib_profile; then + cp -ar ${S} ${S}-x86 + mv ${S} ${S}-amd64 + fi } src_compile() { + if use amd64 && has_multilib_profile; then + local OABI=${ABI} + local OPWD=$PWD + local OS=${S} + ABI="x86" + S="${OS}-x86" + cd ${S} + src_compile-multilib --libdir=/usr/lib32 + ABI="amd64" + S="${OS}-amd64" + cd ${S} + src_compile-multilib --libdir=/usr/lib64 + ABI=${OABI} + cd ${OPWD} + S=${OS} + unset OABI + unset OPWD + unset OS + else + src_compile-multilib + fi +} + +src_compile-multilib() { strip-linguas -i */po #42033 # Generate borked binaries. Bug #6730 @@ -69,7 +99,7 @@ # Fix /usr/lib/libbfd.la elibtoolize --portage --no-uclibc - ./configure \ + ./configure ${1} \ --enable-shared \ --enable-64-bit-bfd \ --prefix=/usr \ @@ -100,6 +130,32 @@ } src_install() { + if use amd64 && has_multilib_profile; then + local OABI=${ABI} + local OPWD=$PWD + local OS=${S} + ABI="x86" + S="${OS}-x86" + cd ${S} + src_install-multilib + # remove all but the lib32 subdirectory + rm -rf ${D}/usr/{bin,include,share,${CHOST}} + ABI="amd64" + S="${OS}-amd64" + cd ${S} + src_install-multilib + ABI=${OABI} + cd ${OPWD} + S=${OS} + unset OS + unset OABI + unset OPWD + else + src_install-multilib + fi +} + +src_install-multilib() { make DESTDIR=${D} \ install || die