|
@@ -0,0 +1,82 @@
|
|
|
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
|
+# Contributor: Allan McRae <allan@archlinux.org>
|
|
|
+
|
|
|
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
|
|
|
+
|
|
|
+pkgname=binutils
|
|
|
+pkgver=2.37
|
|
|
+pkgrel=1
|
|
|
+pkgdesc='A set of programs to assemble and manipulate binary and object files'
|
|
|
+arch=(x86_64)
|
|
|
+url='https://www.gnu.org/software/binutils/'
|
|
|
+license=(GPL)
|
|
|
+groups=(base-devel)
|
|
|
+depends=(glibc zlib elfutils)
|
|
|
+makedepends=(elfutils git)
|
|
|
+conflicts=(binutils-multilib)
|
|
|
+replaces=(binutils-multilib)
|
|
|
+options=(staticlibs !distcc !ccache)
|
|
|
+#_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e
|
|
|
+#source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit)
|
|
|
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.lz)
|
|
|
+sha256sums=('b05287b811bc3ab4beb8192f8b20673e378e9cfe70a3d634fc374e7939281425')
|
|
|
+
|
|
|
+prepare() {
|
|
|
+ [[ ! -d binutils-gdb ]] && ln -s binutils-$pkgver binutils-gdb
|
|
|
+ mkdir -p binutils-build
|
|
|
+
|
|
|
+ cd binutils-gdb
|
|
|
+
|
|
|
+ # Turn off development mode (-Werror, gas run-time checks, date in sonames)
|
|
|
+ sed -i '/^development=/s/true/false/' bfd/development.sh
|
|
|
+
|
|
|
+ # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
|
|
|
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
|
|
|
+}
|
|
|
+
|
|
|
+build() {
|
|
|
+ cd binutils-build
|
|
|
+
|
|
|
+ "$srcdir/binutils-gdb/configure" \
|
|
|
+ --prefix=/usr \
|
|
|
+ --with-lib-path=/usr/lib:/usr/local/lib \
|
|
|
+ --with-bugurl=https://bugs.archlinux.org/ \
|
|
|
+ --enable-cet \
|
|
|
+ --enable-deterministic-archives \
|
|
|
+ --enable-gold \
|
|
|
+ --enable-ld=default \
|
|
|
+ --enable-lto \
|
|
|
+ --enable-plugins \
|
|
|
+ --enable-relro \
|
|
|
+ --enable-targets=x86_64-pep \
|
|
|
+ --enable-threads \
|
|
|
+ --disable-gdb \
|
|
|
+ --disable-werror \
|
|
|
+ --with-debuginfod \
|
|
|
+ --with-pic \
|
|
|
+ --with-system-zlib
|
|
|
+
|
|
|
+ make configure-host
|
|
|
+ make tooldir=/usr
|
|
|
+}
|
|
|
+
|
|
|
+check() {
|
|
|
+ cd binutils-build
|
|
|
+
|
|
|
+ # unset LDFLAGS as testsuite makes assumptions about which ones are active
|
|
|
+ # ignore failures in gold testsuite...
|
|
|
+ make -k LDFLAGS="" check || true
|
|
|
+}
|
|
|
+
|
|
|
+package() {
|
|
|
+ cd binutils-build
|
|
|
+ make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install
|
|
|
+
|
|
|
+ # Remove unwanted files
|
|
|
+ rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
|
|
|
+
|
|
|
+ # No shared linking to these files outside binutils
|
|
|
+ rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so
|
|
|
+ echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so"
|
|
|
+ echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so"
|
|
|
+}
|