PKGBUILD 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
  2. # Contributor: Allan McRae <allan@archlinux.org>
  3. # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
  4. pkgname=binutils
  5. pkgver=2.37
  6. pkgrel=1
  7. pkgdesc='A set of programs to assemble and manipulate binary and object files'
  8. arch=(x86_64)
  9. url='https://www.gnu.org/software/binutils/'
  10. license=(GPL)
  11. groups=(base-devel)
  12. depends=(glibc zlib elfutils)
  13. makedepends=(elfutils git)
  14. conflicts=(binutils-multilib)
  15. replaces=(binutils-multilib)
  16. options=(staticlibs !distcc !ccache)
  17. #_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e
  18. #source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit)
  19. source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.lz)
  20. sha256sums=('b05287b811bc3ab4beb8192f8b20673e378e9cfe70a3d634fc374e7939281425')
  21. prepare() {
  22. [[ ! -d binutils-gdb ]] && ln -s binutils-$pkgver binutils-gdb
  23. mkdir -p binutils-build
  24. cd binutils-gdb
  25. # Turn off development mode (-Werror, gas run-time checks, date in sonames)
  26. sed -i '/^development=/s/true/false/' bfd/development.sh
  27. # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
  28. sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
  29. }
  30. build() {
  31. cd binutils-build
  32. "$srcdir/binutils-gdb/configure" \
  33. --prefix=/usr \
  34. --with-lib-path=/usr/lib:/usr/local/lib \
  35. --with-bugurl=https://bugs.archlinux.org/ \
  36. --enable-cet \
  37. --enable-deterministic-archives \
  38. --enable-gold \
  39. --enable-ld=default \
  40. --enable-lto \
  41. --enable-plugins \
  42. --enable-relro \
  43. --enable-targets=x86_64-pep \
  44. --enable-threads \
  45. --disable-gdb \
  46. --disable-werror \
  47. --with-debuginfod \
  48. --with-pic \
  49. --with-system-zlib
  50. make configure-host
  51. make tooldir=/usr
  52. }
  53. check() {
  54. cd binutils-build
  55. # unset LDFLAGS as testsuite makes assumptions about which ones are active
  56. # ignore failures in gold testsuite...
  57. make -k LDFLAGS="" check || true
  58. }
  59. package() {
  60. cd binutils-build
  61. make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install
  62. # Remove unwanted files
  63. rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}*
  64. # No shared linking to these files outside binutils
  65. rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so
  66. echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so"
  67. echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so"
  68. }