Split building coreboot toolchains to a separate file
Specify dependencies specifically for building coreboot toolchains in the file, so they are not conflated with the dependencies required for building firmware-open. Remove building the toolchain when building firmware, so that the new script is the single source for building coreboot toolchains. Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
committed by
Jeremy Soller
parent
5fb1624187
commit
b379c94b76
63
scripts/coreboot-sdk.sh
Executable file
63
scripts/coreboot-sdk.sh
Executable file
@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
# Build the coreboot toolchains
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
|
||||
set -e
|
||||
|
||||
. /etc/os-release
|
||||
if [ "$ID" = "arch" ] || [[ "$ID_LIKE" =~ "arch" ]]; then
|
||||
sudo pacman -S --noconfirm \
|
||||
bison \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-ada \
|
||||
make \
|
||||
patch \
|
||||
tar \
|
||||
xz \
|
||||
zlib
|
||||
elif [ "$ID" = "fedora" ] || [[ "$ID_LIKE" =~ "fedora" ]]; then
|
||||
sudo dnf install --assumeyes \
|
||||
bison \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gcc-gnat \
|
||||
make \
|
||||
patch \
|
||||
tar \
|
||||
xz \
|
||||
zlib-devel
|
||||
elif [ "$ID" = "ubuntu" ] || [[ "$ID_LIKE" =~ "debian" ]]; then
|
||||
sudo apt-get --quiet update
|
||||
sudo apt-get --quiet install --no-install-recommends --assume-yes \
|
||||
bison \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
curl \
|
||||
flex \
|
||||
g++ \
|
||||
gcc \
|
||||
gnat \
|
||||
make \
|
||||
patch \
|
||||
tar \
|
||||
xz-utils \
|
||||
zlib1g-dev
|
||||
else
|
||||
printf "\e[1;31munsupported host:\e[0m %s\n" "$ID"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
make -C coreboot CPUS="$(nproc)" crossgcc-i386
|
||||
make -C coreboot CPUS="$(nproc)" crossgcc-x64
|
||||
make -C coreboot gitconfig
|
Reference in New Issue
Block a user