mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-21 10:15:12 +03:00
142 lines
2.9 KiB
Text
142 lines
2.9 KiB
Text
# Contributor: Stefan Wagner <stw@bit-strickerei.de>
|
|
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
|
|
# Based on binutils-avr
|
|
_pkgbase=binutils
|
|
pkgname="$_pkgbase-cross-embedded"
|
|
pkgver=2.39
|
|
pkgrel=2
|
|
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="aarch64 armv7 ppc64le x86_64 x86"
|
|
license="GPL-2.0 GPL-3.0-or-later LGPL-2.0 BSD"
|
|
source="https://ftp.gnu.org/gnu/$_pkgbase/$_pkgbase-$pkgver.tar.xz"
|
|
builddir="$srcdir/$_pkgbase-$pkgver"
|
|
|
|
# classify targets as exotic or mainstream. Only build support for
|
|
# exotic targets on typical developer / CI hardware (x86_86, aarach64).
|
|
_targets_mainstream="
|
|
arm-none-eabi
|
|
avr
|
|
riscv-none-elf
|
|
"
|
|
|
|
_targets_exotic="
|
|
msp430-elf
|
|
or1k-elf
|
|
aarch64-none-elf
|
|
"
|
|
|
|
case "$CARCH" in
|
|
x86_64|aarch64)
|
|
# support all targets on typical workstation / notebook / CI servers
|
|
_targets="$_targets_mainstream $_targets_exotic"
|
|
;;
|
|
*)
|
|
# support only mainstream targets on exotic hosts
|
|
_targets="$_targets_mainstream"
|
|
;;
|
|
esac
|
|
|
|
for target in $_targets; do
|
|
targetnorm="${target//-/_}"
|
|
subpackages="$_pkgbase-$target:$targetnorm $subpackages"
|
|
done
|
|
|
|
# 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="
|
|
68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3 binutils-2.39.tar.xz
|
|
"
|