127 lines
2.4 KiB
Plaintext

# Contributor: Stefan Wagner <stw@bit-strickerei.de>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Based on binutils-avr
_pkgbase=binutils
_targets="
arm-none-eabi
avr
mips-mti-elf
msp430-elf
or1k-elf
riscv-none-elf
aarch64-none-elf
"
pkgname="$_pkgbase-cross-embedded"
pkgver=2.38
pkgrel=0
pkgdesc="tools necessary to build programs for embedded targets"
url="https://www.gnu.org/software/binutils/"
makedepends="gettext libtool autoconf automake bison texinfo zlib-dev"
arch="all"
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
for target in $_targets; do
targetnorm="${target//-/_}"
subpackages="$_pkgbase-$target:$targetnorm $subpackages"
done
source="https://ftp.gnu.org/gnu/$_pkgbase/$_pkgbase-$pkgver.tar.xz"
builddir="$srcdir/$_pkgbase-$pkgver"
# secfixes:
# 2.37-r0:
# - CVE-2020-35448
build() {
for target in $_targets; do
workingdir="$srcdir/build-$target"
mkdir "$workingdir"
cd "$workingdir"
"$builddir"/configure \
--target=$target \
--with-sysroot=/usr/$target \
--prefix=/usr/ \
--libdir=/usr/$target/lib \
--infodir=/deleteme/info \
--htmldir=/deleteme/html \
--pdfdir=/deleteme/pdf \
--mandir=/deleteme/man \
--with-gnu-as \
--with-gnu-ld \
--enable-deterministic-archieves \
--enable-interwork \
--enable-lto \
--enable-multilib \
--enable-plugins \
--enable-ld=default \
--disable-nls
make tooldir=/usr
done
}
check() {
for target in $_targets; do
workingdir="$srcdir/build-$target"
cd "$workingdir"
make check
done
}
package() {
for target in $_targets; do
depends="$depends $_pkgbase-$target"
done
mkdir -p "$pkgdir"
}
_install_subpkg() {
target="${subpkgname#$_pkgbase-}"
pkgdesc="Tools necessary to build programs for $target"
workingdir="$srcdir/build-$target"
cd "$workingdir"
make install DESTDIR="$subpkgdir"
rm -rf "$subpkgdir"/deleteme
for bin in ar as nm objcopy objdump ranlib strip readelf; do
rm -f "$subpkgdir"/usr/bin/"$bin"
done
}
arm_none_eabi() {
_install_subpkg
}
avr() {
_install_subpkg
}
mips_mti_elf() {
_install_subpkg
}
msp430_elf() {
_install_subpkg
}
xtensa_esp32_elf() {
_install_subpkg
}
xtensa_lx106_elf() {
_install_subpkg
}
or1k_elf() {
_install_subpkg
}
riscv_none_elf() {
_install_subpkg
}
aarch64_none_elf() {
_install_subpkg
}
sha512sums="
8bf0b0d193c9c010e0518ee2b2e5a830898af206510992483b427477ed178396cd210235e85fd7bd99a96fc6d5eedbeccbd48317a10f752b7336ada8b2bb826d binutils-2.38.tar.xz
"