Tim Crawford b379c94b76 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>
2023-10-19 08:08:02 -06:00

64 lines
1.3 KiB
Bash
Executable File

#!/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