aboutsummaryrefslogtreecommitdiffstats
path: root/community/binutils-cross/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/binutils-cross/APKBUILD')
-rw-r--r--community/binutils-cross/APKBUILD129
1 files changed, 129 insertions, 0 deletions
diff --git a/community/binutils-cross/APKBUILD b/community/binutils-cross/APKBUILD
new file mode 100644
index 00000000000..f4403894f7c
--- /dev/null
+++ b/community/binutils-cross/APKBUILD
@@ -0,0 +1,129 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Contributor: Ariadne Conill <ariadne@dereferenced.org>
+# Maintainer: Pablo Correa Gómez <ablocorrea@hotmail.com>
+pkgname=binutils-cross
+pkgver=2.42
+pkgrel=0
+pkgdesc="Tools necessary to build programs for foreign architectures"
+url="https://www.gnu.org/software/binutils/"
+makedepends_build="bison flex texinfo"
+makedepends_host="zlib-dev zstd-dev jansson-dev"
+makedepends="$makedepends_build $makedepends_host"
+arch="all"
+license="GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause"
+source="https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz
+ binutils-ld-fix-static-linking.patch
+ 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
+ "
+builddir="$srcdir/binutils-$pkgver"
+_targets="aarch64 armhf armv7 ppc64le riscv64 s390x x86 x86_64"
+options="!check"
+for target in $_targets
+do
+ subpackages="$subpackages binutils-$target:_$target"
+done
+
+build() {
+ for target in $_targets
+ do
+ local _arch_configure=""
+ local _cross_configure="--disable-install-libiberty"
+ local _gold_configure="--disable-gold"
+ local _plugin_configure="--disable-plugins"
+ if [ "$target" = "x86_64" ]; then
+ _arch_configure="--enable-targets=x86_64-pep"
+ fi
+
+ mkdir "$srcdir/$target"
+ cd "$srcdir/$target"
+ # missing --with-bug-url and --enable-threads, only for gold
+ local ctarget="$(arch_to_hostspec "$target")"
+ "$builddir"/configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --target=$ctarget \
+ --program-prefix=$ctarget- \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ $_arch_configure \
+ $_cross_configure \
+ $_gold_configure \
+ $_plugin_configure \
+ --disable-gprofng \
+ --disable-multilib \
+ --disable-nls \
+ --disable-werror \
+ --enable-64-bit-bfd \
+ --enable-colored-disassembly \
+ --enable-default-execstack=no \
+ --enable-default-hash-style=gnu \
+ --enable-deterministic-archives \
+ --enable-jansson \
+ --enable-ld=default \
+ --enable-new-dtags \
+ --enable-relro \
+ --with-mmap \
+ --with-pic \
+ --with-system-zlib \
+ --with-zstd
+ make
+ done
+}
+
+package() {
+ pkgdesc="Tools necessary to build programs for foreign architectures"
+ for target in $_targets
+ do
+ depends="$depends binutils-$target"
+ done
+ mkdir -p "$pkgdir"
+}
+
+_install_target() {
+ local target="$1"
+ pkgdesc="Tools necessary to build programs for $target"
+ cd "$srcdir/$target"
+ make install DESTDIR="$subpkgdir"
+ rm -rf "$subpkgdir"/usr/share
+ rm -rf "$subpkgdir"/usr/lib
+ rm -rf "$subpkgdir"/usr/include
+}
+
+_aarch64() {
+ _install_target aarch64
+}
+
+_armhf() {
+ _install_target armhf
+}
+
+_armv7() {
+ _install_target armv7
+}
+
+_ppc64le() {
+ _install_target ppc64le
+}
+
+_riscv64() {
+ _install_target riscv64
+}
+
+_s390x() {
+ _install_target s390x
+}
+
+_x86() {
+ _install_target x86
+}
+
+_x86_64() {
+ _install_target x86_64
+}
+
+sha512sums="
+155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6 binutils-2.42.tar.xz
+ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
+70ec22bd72ef6dddecfd970613387dd4a8cdc8730dd3cbf03d5a0c3a7c4d839383167bb06dad21bf7c235329fd44b5dc4aefe762f68544f17155cf002bf1be4a 0001-Revert-PR25882-.gnu.attributes-are-not-checked-for-s.patch
+"