build/boot/roms: skip building gnat on fam15h
the fam15h boards do not use libgfxinit, instead deferring to coreboot's old style of graphics initialisation written in C. libgfxinit is otherwise the only thing that needs gcc-gnat, so skip building gcc-gnat on coreboot/fam15h_udimm and rdimm. neox added crossgcc_ada="n" to board.cfg files before, but forgot to add the handling of it, so these boards still didn't build on modern distros, where building the old gnat version was problematic. with this patch, those fam15h boards should now build, on modern distros and modern toolchains. this is done by using the BUILD_LANGUAGES environmental variable, setting it to c, which tells coreboot to skip building gcc-gnat MERGE NOTE: this is v2 of the earlier patch, but it actually in fact sets crossgcc_ada="n" on all of the amd boards, whereas the v1 patch did not, in this 0.1 buildfix series. Signed-off-by: Leah Rowe <info@minifree.org>
This commit is contained in:
parent
536d8ac919
commit
b566142205
11 changed files with 20 additions and 6 deletions
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="n"
|
|||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="n"
|
|||
payload_grub_withseabios="n"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -5,3 +5,4 @@ payload_grub="y"
|
|||
payload_grub_withseabios="y"
|
||||
payload_seabios="y"
|
||||
payload_memtest="y"
|
||||
crossgcc_ada="n"
|
||||
|
|
|
@ -63,9 +63,14 @@ payload_seabios="n"
|
|||
payload_seabios_withgrub="n" # i386-coreboot grub accessible from SeaBIOS boot menu
|
||||
seabios_opromloadonly="0"
|
||||
payload_memtest="n"
|
||||
crossgcc_ada="y"
|
||||
# Override the above defaults using board.cfg
|
||||
source "resources/coreboot/${board}/board.cfg"
|
||||
|
||||
if [ "${crossgcc_ada}" != "n" ] && [ "${crossgcc_ada}" != "y" ]; then
|
||||
crossgcc_ada="y"
|
||||
fi
|
||||
|
||||
if [ "${grub_scan_disk}" = "undefined" ]; then
|
||||
printf "build/roms: Target %s does not define grub_scan_disk. Defaulting to 'both'.\n" "${board}"
|
||||
grub_scan_disk="both"
|
||||
|
@ -142,12 +147,11 @@ fi
|
|||
|
||||
if [ "${arch}" = "x86_32" ] || [ "${arch}" = "x86_64" ]; then
|
||||
if [ ! -d "${cbdir}/util/crossgcc/xgcc/i386-elf/" ]; then
|
||||
(
|
||||
cat version > "${cbdir}/.coreboot-version"
|
||||
cd "${cbdir}"
|
||||
make crossgcc-i386 CPUS=$(nproc) # even for 64-bit machines, coreboot builds
|
||||
# 32-bit ROM images, so we only need to worry about i386-elf
|
||||
)
|
||||
cat version > "${cbdir}/.coreboot-version"
|
||||
if [ "${crossgcc_ada}" = "n" ]; then
|
||||
export BUILD_LANGUAGES=c
|
||||
fi
|
||||
make -C "${cbdir}" crossgcc-i386 CPUS=$(nproc)
|
||||
fi
|
||||
elif [ "${arch}" = "ARMv7" ]; then
|
||||
cat version > "${cbdir}/.coreboot-version"
|
||||
|
|
Loading…
Reference in a new issue