summaryrefslogtreecommitdiffstats
path: root/abs/core/binutils/PKGBUILD
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2012-08-06 22:30:24 (GMT)
committerJames Meyer <james.meyer@operamail.com>2012-08-06 22:30:24 (GMT)
commit70cbab85a49ef511a4d7ef2d1d4d955d23d29d97 (patch)
treedafc32000063d6eb1b2723b992df2e6be40da4b9 /abs/core/binutils/PKGBUILD
parent55ff3c9691f42d0c165ea392800ff65fdc24eee3 (diff)
downloadlinhes_pkgbuild-70cbab85a49ef511a4d7ef2d1d4d955d23d29d97.zip
linhes_pkgbuild-70cbab85a49ef511a4d7ef2d1d4d955d23d29d97.tar.gz
linhes_pkgbuild-70cbab85a49ef511a4d7ef2d1d4d955d23d29d97.tar.bz2
binutils: 2.22
Diffstat (limited to 'abs/core/binutils/PKGBUILD')
-rw-r--r--abs/core/binutils/PKGBUILD51
1 files changed, 32 insertions, 19 deletions
diff --git a/abs/core/binutils/PKGBUILD b/abs/core/binutils/PKGBUILD
index 4c6e5a9..fefc124 100644
--- a/abs/core/binutils/PKGBUILD
+++ b/abs/core/binutils/PKGBUILD
@@ -1,28 +1,28 @@
-# $Id$
+# $Id: PKGBUILD 163511 2012-07-14 13:06:56Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
-pkgver=2.21.1
-pkgrel=1
-_date=20110627
+pkgver=2.22
+pkgrel=9
+_date=20120323
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
-groups=('base')
-depends=('glibc>=2.14' 'zlib')
+groups=('base-devel')
+depends=('glibc>=2.16' 'zlib')
checkdepends=('dejagnu')
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
-md5sums=('2face559e80d649ba148e42bb2d1fb0f')
+md5sums=('de2ac4298732827f8af706fc24020330')
mksource() {
mkdir ${pkgname}-${_date}
cd ${pkgname}-${_date}
- export _TAG=binutils-2_21-branch
+ export _TAG=binutils-2_22-branch
export 'CVSROOT=:pserver:anoncvs@sourceware.org:/cvs/src'
cvs -z9 co -r $_TAG binutils || return 1
mv src binutils
@@ -36,6 +36,7 @@ build() {
[[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib"
${srcdir}/binutils/configure --prefix=/usr \
+ --with-lib-path=/usr/lib:/usr/local/lib \
--enable-ld=default --enable-gold \
--enable-plugins --enable-threads \
--enable-shared $CONFIGFLAG
@@ -44,13 +45,31 @@ build() {
make configure-host
make tooldir=${pkgdir}/usr
+
+ # Rebuild libiberty.a with -fPIC
+ cp -a libiberty libiberty-pic
+ make -C libiberty-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C libiberty-pic
+
+ # Rebuild libbfd.a with -fPIC
+ # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
+ cp -a bfd bfd-pic
+ make -C bfd-pic clean
+ make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd-pic
+
+ # Rebuild libopcodes.a with -fPIC
+ cp -a opcodes opcodes-pic
+ make -C opcodes-pic clean
+ make CFLAGS="$CFLAGS -fPIC" -C opcodes-pic
}
check() {
cd ${srcdir}/binutils-build
# do not abort on errors - manually check log files
- make -k -j1 check || true
+ # gold testsuite does not build with _FORTIFY_SOURCE (due to -O0 -Werror)
+ make CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2/}" \
+ CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2/}" -k check || true
}
package() {
@@ -61,16 +80,10 @@ package() {
install -m644 ${srcdir}/binutils/include/libiberty.h ${pkgdir}/usr/include
install -m644 ${srcdir}/binutils/include/demangle.h ${pkgdir}/usr/include
- # Rebuild libiberty.a with -fPIC
- make -C libiberty clean
- make CFLAGS="$CFLAGS -fPIC" -C libiberty
- install -m644 libiberty/libiberty.a ${pkgdir}/usr/lib
-
- # Rebuild libbfd.a with -fPIC
- make -C bfd clean
- # hidden visability prevent 3rd party shared libraries exporting bfd non-stable API
- make CFLAGS="$CFLAGS -fPIC -fvisibility=hidden" -C bfd
- install -m644 bfd/libbfd.a ${pkgdir}/usr/lib
+ # install libraries rebuilt with -fPIC
+ install -m644 libiberty-pic/libiberty.a ${pkgdir}/usr/lib
+ install -m644 bfd-pic/libbfd.a ${pkgdir}/usr/lib
+ install -m644 opcodes/libopcodes.a ${pkgdir}/usr/lib
# Remove Windows/Novell specific man pages
rm -f ${pkgdir}/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*