blob: 7d15868b7fdb92f41a90c15d4b8c7356d4efcb5c (
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
|
# Maintainer: Felix Singer <felixsinger@posteo.net>
_targets="i386 x64 arm aarch64 riscv ppc64 nds32le clang"
_commit='e29dcdcdd8bc04e9c54aca4e341d0b8168763000'
pkgbase='coreboot-toolchain'
pkgname=()
pkgver=4.18
pkgrel=1
pkgdesc='Used to build coreboot'
url='https://www.coreboot.org'
license=(BSD2 BSD3 GPL2 LGPL2Plus GPL3Plus)
arch=(x86_64 aarch64 riscv)
depends=() # TODO
makedepends=() # TODO
options=('buildflags')
source=("git+https://review.coreboot.org/coreboot#commit=${_commit}")
sha256sums=('SKIP')
for target in ${_targets}; do
pkgname+=("${pkgbase}-${target}")
done
build() {
cd coreboot
export CFLAGS=${CFLAGS/-Werror=format-security/}
export CXXFLAGS=${CXXFLAGS/-Werror=format-security/}
is_clang_enabled=0
for target in ${_targets}; do
[ "${target}" = "clang" ] && is_clang_enabled=1 && continue
make crossgcc-${target} CPUS=$(nproc) DEST="${srcdir}/${target}"
done
if [ ${is_clang_enabled} -eq 1 ]; then
for component in "clang iasl nasm"; do
make ${component} CPUS=$(nproc) DEST="${srcdir}/${target}"
done
fi
}
do_package_gcc() {
target="$(echo ${pkgname} | cut -d '-' -f 3)"
toolchain_dir="usr/${target}-coreboot-gnu"
dest_path="${pkgdir}/${toolchain_dir}"
mkdir -p ${dest_path}
mv ${srcdir}/${target}/* "${dest_path}"
}
do_package_clang() {
toolchain_dir="usr/multiarch-coreboot-clang"
dest_path="${pkgdir}/${toolchain_dir}"
mkdir -p ${dest_path}
mv ${srcdir}/clang/* "${dest_path}"/
}
package_coreboot-toolchain-i386() {
do_package_gcc
}
package_coreboot-toolchain-x64() {
do_package_gcc
}
package_coreboot-toolchain-arm() {
do_package_gcc
}
package_coreboot-toolchain-aarch64() {
do_package_gcc
}
package_coreboot-toolchain-riscv() {
do_package_gcc
}
package_coreboot-toolchain-ppc64() {
do_package_gcc
}
package_coreboot-toolchain-nds32le() {
do_package_gcc
}
package_coreboot-toolchain-clang() {
do_package_clang
}
|