build/roms: Make coreboot crossgcc usable for payloads and modules
Add the coreboot-built cross-architecture toolchains to the PATH so that modules and payloads can use them. When building for a foreign-arch board, also export CROSS_COMPILE pointing to the appropriate prefix. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>fsdg20230625
parent
a586356164
commit
bee5054077
|
@ -184,12 +184,20 @@ if [ "${arch}" = "x86_32" ] || [ "${arch}" = "x86_64" ]; then
|
|||
# 32-bit ROM images, so we only need to worry about i386-elf
|
||||
)
|
||||
fi
|
||||
case "$(uname -m)" in
|
||||
x86*|i*86|amd64) : ;;
|
||||
*) export CROSS_COMPILE=i386-elf- ;;
|
||||
esac
|
||||
elif [ "${arch}" = "ARMv7" ]; then
|
||||
(
|
||||
cat version > "${cbdir}/.coreboot-version"
|
||||
cd "${cbdir}"
|
||||
make crossgcc-arm CPUS=$(nproc) # This is for armv7, doesn't apply to aarch64
|
||||
)
|
||||
case "$(uname -m)" in
|
||||
arm|arm32|armv6*|armv7*) : ;;
|
||||
*) export CROSS_COMPILE=arm-eabi- ;;
|
||||
esac
|
||||
elif [ "${arch}" = "AArch64" ]; then
|
||||
(
|
||||
cat version > "${cbdir}/.coreboot-version"
|
||||
|
@ -197,8 +205,14 @@ elif [ "${arch}" = "AArch64" ]; then
|
|||
# aarch64 needs armv7 toolchain for arm-trusted-firmware
|
||||
make crossgcc-arm crossgcc-aarch64 CPUS=$(nproc)
|
||||
)
|
||||
case "$(uname -m)" in
|
||||
arm64|aarch64) : ;;
|
||||
*) export CROSS_COMPILE=aarch64-elf- ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
export PATH="$(pwd)/${cbdir}/util/crossgcc/xgcc/bin:$PATH"
|
||||
|
||||
if [ ! -f "${cbfstool}" ]; then
|
||||
./build module cbutils ${cbtree}
|
||||
fi
|
||||
|
|
|
@ -94,14 +94,6 @@ for board in "$@"; do
|
|||
continue
|
||||
fi
|
||||
|
||||
if [ "${arch}" = "x86_32" ] || [ "${arch}" = "x86_64" ]; then
|
||||
export CROSS_COMPILE=x86_64-linux-
|
||||
elif [ "${arch}" = "ARMv7" ]; then
|
||||
export CROSS_COMPILE=arm-linux-gnueabi-
|
||||
elif [ "${arch}" = "AArch64" ]; then
|
||||
export CROSS_COMPILE=aarch64-linux-gnu-
|
||||
fi
|
||||
|
||||
for config in "${board_dir}/config"/*; do
|
||||
if [ ! -f "${config}" ]; then
|
||||
printf "%s: Target %s has no configs to build for. Skipping build.\n" \
|
||||
|
|
Loading…
Reference in New Issue