--- /usr/portage/sys-devel/flex/flex-2.5.4a-r5.ebuild.orig 2005-03-03 12:37:52.811723996 +0100 +++ /usr/portage/sys-devel/flex/flex-2.5.4a-r5.ebuild 2005-03-03 13:06:52.025405150 +0100 @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-devel/flex/flex-2.5.4a-r5.ebuild,v 1.32 2005/01/21 00:07:04 vapier Exp $ -inherit eutils flag-o-matic toolchain-funcs +inherit eutils flag-o-matic toolchain-funcs multilib DESCRIPTION="GNU lexical analyser generator" HOMEPAGE="http://lex.sourceforge.net/" @@ -15,6 +15,8 @@ RDEPEND="virtual/libc" +DEPEND="!app-emulation/emul-linux-x86-baselibs" + S="${WORKDIR}/${P/a/}" src_unpack() { @@ -26,9 +28,37 @@ epatch ${FILESDIR}/flex-2.5.4a-gcc3.patch epatch ${FILESDIR}/flex-2.5.4a-gcc31.patch epatch ${FILESDIR}/flex-2.5.4a-skel.patch + + 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 OPWD=$PWD + local OS=${S} + local OCFLAGS=${CFLAGS} + S=${OS}-x86 + cd ${S} + CFLAGS="${OCFLAGS} -m32" + src_compile-multilib + CFLAGS="${OCFLAGS}" + S=${OS}-amd64 + cd ${S} + src_compile-multilib + cd ${OPWD} + S=${OS} + unset OPWD + unset OS + unset OCFLAGS + else + src_compile-multilib + fi +} + +src_compile-multilib() { export CC="$(tc-getCC)" ./configure --prefix=/usr --host=${CHOST} || die "configure failed" use static && append-ldflags -static @@ -40,6 +70,26 @@ } src_install() { + if use amd64 && has_multilib_profile; then + local OPWD=$PWD + local OS=${S} + S=${OS}-x86 + cd ${S} + src_install-multilib + mv ${D}/usr/lib{,32} + S=${OS}-amd64 + cd ${S} + src_install-multilib + cd ${OPWD} + S=${OS} + unset OPWD + unset OS + else + src_install-multilib + fi +} + +src_install-multilib() { make -j1 prefix=${D}/usr \ mandir=${D}/usr/share/man/man1 \ install || die "make install failed"