# Contributor: Stefan Wagner # Maintainer: Marian Buschsieweke # 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 "