summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2004-10-20 17:35:50 +0000
committerMike Frysinger <vapier@gentoo.org>2004-10-20 17:35:50 +0000
commiteb84d7d416c400d13fab3bdb2b8f24247fa5bb1e (patch)
treeaa3e7e664970cf009d287fa2e919e67adce3fd97 /sys-devel
parentkeyword shuffle (Manifest recommit) (diff)
downloadgentoo-2-eb84d7d416c400d13fab3bdb2b8f24247fa5bb1e.tar.gz
gentoo-2-eb84d7d416c400d13fab3bdb2b8f24247fa5bb1e.tar.bz2
gentoo-2-eb84d7d416c400d13fab3bdb2b8f24247fa5bb1e.zip
new spiffy cross-compiler binutils
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/binutils/ChangeLog9
-rw-r--r--sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild175
-rw-r--r--sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r23
3 files changed, 186 insertions, 1 deletions
diff --git a/sys-devel/binutils/ChangeLog b/sys-devel/binutils/ChangeLog
index 27c896b26d65..fc852efd6a6f 100644
--- a/sys-devel/binutils/ChangeLog
+++ b/sys-devel/binutils/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-devel/binutils
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.163 2004/10/18 14:30:59 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils/ChangeLog,v 1.164 2004/10/20 17:35:50 vapier Exp $
+
+*binutils-2.15.92.0.2-r2 (20 Oct 2004)
+
+ 20 Oct 2004; Mike Frysinger <vapier@gentoo.org>
+ +binutils-2.15.92.0.2-r2.ebuild:
+ Clean up ebuild. Try to handle $CTARGET/$CHOST correctly. Use symlinks
+ instead of hard links in src_install().
18 Oct 2004; Guy Martin <gmsoft@gentoo.org> binutils-2.15.92.0.2-r1.ebuild:
Added ~hppa.
diff --git a/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild b/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild
new file mode 100644
index 000000000000..3ad3cd24ab25
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.15.92.0.2-r2.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2004 Gentoo Foundation
+# 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-r2.ebuild,v 1.1 2004/10/20 17:35:50 vapier Exp $
+
+inherit eutils libtool flag-o-matic gnuconfig
+
+PATCHVER="1.2"
+UCLIBC_PATCHVER="1.0"
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="http://sources.redhat.com/binutils/"
+SRC_URI="mirror://kernel/linux/devel/binutils/${P}.tar.bz2
+ mirror://kernel/linux/devel/binutils/test/${P}.tar.bz2
+ mirror://gentoo/${PN}-${PV:0:4}-uclibc-patches-${UCLIBC_PATCHVER}.tar.bz2
+ mirror://gentoo/${P}-patches-${PATCHVER}.tar.bz2"
+
+LICENSE="GPL-2 | LGPL-2"
+SLOT="${CTARGET:-${CHOST}}"
+KEYWORDS="-*"
+IUSE="nls bootstrap build multitarget uclibc"
+
+DEPEND="virtual/libc
+ nls? ( sys-devel/gettext )
+ !build? ( !bootstrap? ( dev-lang/perl ) )"
+
+MY_BUILDDIR="${WORKDIR}/build"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ mkdir -p "${MY_BUILDDIR}"
+
+ # Patches
+ cd ${WORKDIR}/patch
+ mkdir skip
+ if use uclibc ; then
+ mv *relro* skip/
+ else
+ mv *no_rel_ro* 20_* skip/
+ fi
+ mv *ldsoconf* skip/
+ cd ${S}
+ epatch ${WORKDIR}/patch
+ epatch ${WORKDIR}/uclibc-patches
+
+ # Run misc portage update scripts
+ gnuconfig_update
+ elibtoolize --portage --no-uclibc
+
+ strip-linguas -i */po
+}
+
+src_compile() {
+ filter-flags -fomit-frame-pointer -fssa #6730
+ strip-flags && replace-flags -O3 -O2 #47581
+
+ cd "${MY_BUILDDIR}"
+ local myconf=""
+ use nls \
+ && myconf="${myconf} --without-included-gettext" \
+ || myconf="${myconf} --disable-nls"
+ use multitarget && myconf="${myconf} --enable-targets=all"
+ ECONF_SOURCE="${S}" \
+ econf \
+ --enable-shared \
+ --enable-64-bit-bfd \
+ ${myconf} || die
+
+ make configure-bfd || die "configure-bfd"
+ make headers -C bfd || die "headers-bfd"
+ emake all || die "emake"
+
+ if ! use build ; then
+ if ! has noinfo ${FEATURES} ; then
+ # Make the info pages (makeinfo included with gcc is used)
+ make info || die "info"
+ fi
+ if ! use bootstrap && ! has noman ${FEATURES} ; then
+ cd "${S}"
+ # Nuke the manpages to recreate them (only use this if we have perl)
+ find . -name '*.1' -exec rm -f {} \; || :
+ fi
+ fi
+}
+
+src_test() {
+ emake check
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}"
+ make DESTDIR="${D}" install || die
+
+ # Now we move everything out of /usr and into $CTARGET/$SLOT
+ if [ -n "${CTARGET}" ] && [ "${CHOST}" != "${CTARGET}" ] ; then
+ cd "${D}/usr/${CHOST}/${CTARGET}/"
+ for x in * ; do
+ cp -r ${x} ../../${CTARGET}/
+ rm -r ${x}
+ ln -s ../../${CTARGET}/${x}
+ done
+
+ cd "${D}/usr/bin"
+ for x in * ; do
+ [ "${x/${CTARGET}}" != "${x}" ] && mv "${x}" "${x/${CTARGET}-}"
+ done
+
+ dodir /usr/include
+ else
+ insinto /usr/include
+ doins "${S}/include/libiberty.h"
+ fi
+ cd "${D}/usr"
+ find bin -maxdepth 1 -type l -exec rm {} \;
+ cp -r bin lib include ${SLOT}/
+ rm -r bin lib include
+
+ # Keep all the real files in /usr/${SLOT}/ and symlink
+ # them into our path for
+ cd "${D}/usr/${SLOT}/bin"
+ dodir /usr/bin
+ for x in * ; do
+ dosym ../${SLOT}/bin/${x} /usr/bin/${SLOT}-${x}
+ done
+ if [ -z "${CTARGET}" ] || [ "${CHOST}" == "${CTARGET}" ] ; then
+ for d in bin lib include ; do
+ cd "${D}/usr/${SLOT}/${d}"
+ dodir /usr/${d}
+ for x in * ; do
+ [ -d "${x}" ] && continue
+ dosym ../${SLOT}/${d}/${x} /usr/${d}/${x}
+ done
+ done
+
+ if [ -n "${PROFILE_ARCH}" ] && [ "${PROFILE_ARCH/64}" != "${PROFILE_ARCH}" ] ; then
+ dosym ${CHOST} /usr/${CHOST/-/64-}
+ for x in `ls ${D}/usr/${CHOST}/bin/` ; do
+ [ ! -e "${D}/usr/bin/${CHOST}-${x}" ] && \
+ dosym ../${CHOST}/bin/${x} /usr/bin/${CHOST}-${x}
+ dosym ../${CHOST}/bin/${x} /usr/bin/${CHOST/-/64-}-${x}
+ done
+ fi
+ fi
+
+ # Handle documentation
+ if ! use build ; then
+ if ! has noinfo ${FEATURES} ; then
+ cd "${MY_BUILDDIR}"
+ make DESTDIR="${D}" install-info || die
+ fi
+
+ if ! has nodoc ${FEATURES} ; then
+ cd "${S}"
+ dodoc README
+ docinto bfd
+ dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+ docinto binutils
+ dodoc binutils/ChangeLog binutils/NEWS binutils/README
+ docinto gas
+ dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+ docinto gprof
+ dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+ docinto ld
+ dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+ docinto libiberty
+ dodoc libiberty/ChangeLog* libiberty/README
+ docinto opcodes
+ dodoc opcodes/ChangeLog*
+ # Install pre-generated manpages .. currently we do not ...
+ fi
+ else
+ rm -rf ${D}/usr/share/man
+ fi
+}
diff --git a/sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2 b/sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2
new file mode 100644
index 000000000000..93074c242fcc
--- /dev/null
+++ b/sys-devel/binutils/files/digest-binutils-2.15.92.0.2-r2
@@ -0,0 +1,3 @@
+MD5 702bc82d8b10914e112fb5c5d8b66498 binutils-2.15.92.0.2.tar.bz2 11019727
+MD5 d7c24c3391171278d90f1bdb4be2e673 binutils-2.15-uclibc-patches-1.0.tar.bz2 5729
+MD5 61ba79391117a3745e2c3dfdee5d1d8d binutils-2.15.92.0.2-patches-1.2.tar.bz2 58678