summaryrefslogtreecommitdiff
path: root/libre/riscv32-elf-binutils/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/riscv32-elf-binutils/PKGBUILD')
-rw-r--r--libre/riscv32-elf-binutils/PKGBUILD64
1 files changed, 64 insertions, 0 deletions
diff --git a/libre/riscv32-elf-binutils/PKGBUILD b/libre/riscv32-elf-binutils/PKGBUILD
new file mode 100644
index 000000000..27ddba63a
--- /dev/null
+++ b/libre/riscv32-elf-binutils/PKGBUILD
@@ -0,0 +1,64 @@
+# Maintainer: David P. <megver83@parabola.nu>
+
+_target=riscv32-elf
+pkgname=$_target-binutils
+pkgver=2.32
+pkgrel=1
+pkgdesc='A set of programs to assemble and manipulate binary and object files for the RISC V 32 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=('99ec7ed2b5ebfd3ac16cecb1567ec4a72f81ac30717002d601708f7547b2f8122ffcce076c986f22894aede33c54c73012210a4e973ba9b6e2d87a242a2bee12'
+ '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 LDFLAGS="" -k 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,windres,windmc}*
+
+ # Remove info documents that conflict with host version
+ rm -r "$pkgdir"/usr/share/info
+}