gnuboot-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 09/20] build/boot/roms: skip building gnat on fam15h


From: Leah Rowe
Subject: [PATCH 09/20] build/boot/roms: skip building gnat on fam15h
Date: Sun, 14 Jan 2024 15:55:26 +0000

From: Leah Rowe <leah@libreboot.org>

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.

Signed-off-by: Leah Rowe <leah@libreboot.org>
---
 resources/packages/roms_helper/boot | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/resources/packages/roms_helper/boot 
b/resources/packages/roms_helper/boot
index 6bd3a6a..1e6e311 100755
--- a/resources/packages/roms_helper/boot
+++ b/resources/packages/roms_helper/boot
@@ -62,9 +62,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"
@@ -141,12 +146,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"
-- 
2.39.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]