summaryrefslogtreecommitdiffstats
path: root/abs/core/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/binutils')
-rw-r--r--abs/core/binutils/PKGBUILD67
1 files changed, 67 insertions, 0 deletions
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
new file mode 100644
index 0000000..f958da6
--- /dev/null
+++ b/abs/core/binutils/PKGBUILD
@@ -0,0 +1,67 @@
+# $Id: PKGBUILD 2707 2008-06-12 14:03:09Z andyrtr $
+# Maintainer: judd <jvinet@zeroflux.org>
+
+# compile always twice: first binutils, then gcc, then binutils again
+
+pkgname=binutils
+pkgver=2.18
+pkgrel=17
+_date=20080610
+pkgdesc="A set of programs to assemble and manipulate binary and object files"
+arch=('i686' 'x86_64')
+url="http://sources.redhat.com/binutils"
+license=('GPL')
+groups=('base')
+options=('!libtool' '!distcc' '!ccache')
+depends=('glibc>=2.8-1')
+makedepends=('texinfo>=4.12-2')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('9847b4141a1c99558cfd88dd65182566')
+
+build() {
+ # for cvs checkout
+# mkdir ${startdir}/src/${pkgname}-${_date}
+# cd ${startdir}/src/${pkgname}-${_date}
+# export _TAG=binutils-2_18-branch
+# export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
+# cvs -z9 co -r $_TAG binutils || return 1
+# cd src && tar -cvjf ../binutils-2.18_${_date}.tar.bz2 *
+# return 1
+
+ cd ${startdir}/src
+ autoconf
+
+ mkdir build
+ cd build
+
+ CC="gcc -L`pwd`/bfd/.libs/"
+ if [ "${CARCH}" = "x86_64" ]; then
+ ../configure --prefix=/usr --enable-shared --enable-64-bit-bfd --disable-multilib
+ else
+ ../configure --prefix=/usr --enable-shared
+ fi
+
+ # This checks the host environment and makes sure all the necessary tools are available to compile Binutils.
+ make configure-host || return 1
+
+ make tooldir=${startdir}/pkg/usr || return 1
+ make prefix=${startdir}/pkg/usr tooldir=${startdir}/pkg/usr install
+ install -m 644 ../include/libiberty.h ${startdir}/pkg/usr/include
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ # Rebuild libiberty.a with -fPIC
+ make -C libiberty clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty
+ install -m 644 libiberty/libiberty.a ${startdir}/pkg/usr/lib
+ # Rebuild libbfd.a with -fPIC
+ make -C bfd clean
+ make CFLAGS="$CFLAGS -fPIC" -C bfd
+ install -m 644 bfd/libbfd.a ${startdir}/pkg/usr/lib
+ fi
+
+ rm -f ${startdir}/pkg/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
+
+ # Remove these symlinks, with binutils prereleases they are not ABI stable.
+ # Programs should compile static to the .a file.
+ rm -f ${startdir}/pkg/usr/lib/lib{bfd,opcodes}.so
+}