summaryrefslogtreecommitdiff
path: root/libre/sh-elf-binutils
diff options
context:
space:
mode:
Diffstat (limited to 'libre/sh-elf-binutils')
-rw-r--r--libre/sh-elf-binutils/PKGBUILD64
1 files changed, 64 insertions, 0 deletions
diff --git a/libre/sh-elf-binutils/PKGBUILD b/libre/sh-elf-binutils/PKGBUILD
new file mode 100644
index 000000000..c0d7d02a2
--- /dev/null
+++ b/libre/sh-elf-binutils/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: David P. <megver83@parabola.nu>
+
+_target=sh-elf
+pkgname=$_target-binutils
+pkgver=2.29.1
+pkgrel=1
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the ARM GNU EABI target'
+arch=('x86_64' 'i686' 'armv7h')
+url='http://www.gnu.org/software/binutils/'
+license=(GPL)
+depends=(zlib)
+source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.bz2{,.sig})
+sha512sums=('4063d34555526922376ccceb3f14b43e287442e82a8038cf50f4f51ad97d438c672c0e310ca4b856c9aff5aa9911073e256e8298a7a3f1844eeb60b90d955592'
+ 'SKIP')
+validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93' # Tristan Gingold <gingold@adacore.com>
+ '3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F') # Nick Clifton (Chief Binutils Maintainer) <nickc@redhat.com>
+
+prepare() {
+ cd binutils-$pkgver
+ sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
+}
+
+build() {
+ cd binutils-$pkgver
+
+ if [ "${CARCH}" != "i686" ]; then
+ # enabling gold linker at i686 makes the install fail
+ enable_gold='--enable-gold'
+ fi
+
+ ./configure --target=$_target \
+ --with-sysroot=/usr/$_target \
+ --prefix=/usr \
+ --disable-multilib \
+ --with-gnu-as \
+ --with-gnu-ld \
+ --disable-nls \
+ --enable-ld=default \
+ $enable_gold \
+ --enable-plugins \
+ --enable-deterministic-archives
+
+ make
+}
+
+check() {
+ cd binutils-$pkgver
+
+ # unset LDFLAGS as testsuite makes assumptions about which ones are active
+ # do not abort on errors - manually check log files
+ make -k LDFLAGS="" check || true
+}
+
+package() {
+ cd binutils-$pkgver
+
+ make DESTDIR="$pkgdir" install
+
+ # Remove file conflicting with host binutils and manpages for MS Windows tools
+ rm "$pkgdir"/usr/share/man/man1/$_target-{dlltool,nlmconv,windres,windmc}*
+
+ # Remove info documents that conflict with host version
+ rm -r "$pkgdir"/usr/share/info
+}