aboutsummaryrefslogtreecommitdiffstats
path: root/community/binutils-cross-embedded/APKBUILD
blob: 952e745bacb4b36827227532a2add0ef43db5bdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# 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.35.1
pkgrel=3
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
	avr-ldscript-path.patch
	"

builddir="$srcdir/$_pkgbase-$pkgver"

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-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="94ff72708403413b70b247f3af4099ebaa882b6659249869f1ed9941a0f1912e313f08357d470f9fd2359e7f5e5b0eb86285e5eaf883fa8187789d6b1bd304eb  binutils-2.35.1.tar.xz
3dfcdfb1b3e4d2ab848e5d8af682e26a30806ce2d2f5819dbb1fbb2d005775b201b57efaecc9a54f7950b182cc0aaeb0ea79a4f6e6149473fe669bc9b3acebe0  avr-ldscript-path.patch"