From e5b898f6cb7ddac9dbffd4a2948861b32ffc8ae0 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 17 Aug 2023 23:27:30 +0100
Subject: consolidate u-boot/seabios/coreboot build scripts

See file:
resources/scripts/build/defconfig/for
It is based on:
resources/scripts/build/payload/u-boot

The u-boot payload script has been deleted, as has the
seabios payload script; the build/boot/roms logic has
been heavily simplified too, by removing the logic for
building of elf files based on defconfig.

SeaBIOS, U-Boot and coreboot all use defconfig-type
infrastructure for their build systems, and they are
fundamentally the *same* in how to compile each codebase,
at least in an lbmk context, regardless of actual (and
very huge) differences in these codebases.

Several hundred sources-lines of code have been eliminated
by this change, drastically simplifying everything; U-Boot
payload compiling also now errors out when a single build
fails, instead of continuing. Also: build/boot/roms no longer
re-compiles a coreboot target that was already compiled,
which is the same behaviour observed for payloads.

(this means you must now manually delete a target, when you
wish to re-build it; the build/boot/roms logic now more or
less just runs cbfstool; blobutil is handled from
build/defconfig/for)

ALSO: Since crossgcc is now handled by build/defconfig/for, not
build/boot/roms, standalone compiling of u-boot is now possible.
This has been tested. You compile it like so:
./build defconfig for u-boot
or specific trees, e.g.
./build defconfig for u-boot default

One other consequence of this patch is that re-building the same
ROM image is now much faster, because the same builds are re-used
unless deleted. This could be useful when testing grub.cfg changes,
for example, if that's all you change. With things like ccache used
(not yet used robustly in lbmk), this could speed things up more,
depending on the codebase.

This patch demonstrates the raw power of lbmk; it is a very
simple and highly efficient build system, and now much more so!

Signed-off-by: Leah Rowe <leah@libreboot.org>
---
 resources/seabios/config/libgfxinit | 95 -------------------------------------
 resources/seabios/config/normal     | 91 -----------------------------------
 resources/seabios/config/vgarom     | 90 -----------------------------------
 3 files changed, 276 deletions(-)
 delete mode 100644 resources/seabios/config/libgfxinit
 delete mode 100644 resources/seabios/config/normal
 delete mode 100644 resources/seabios/config/vgarom

(limited to 'resources/seabios/config')

diff --git a/resources/seabios/config/libgfxinit b/resources/seabios/config/libgfxinit
deleted file mode 100644
index 9c9fbe63..00000000
--- a/resources/seabios/config/libgfxinit
+++ /dev/null
@@ -1,95 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# SeaBIOS Configuration
-#
-
-#
-# General Features
-#
-CONFIG_COREBOOT=y
-# CONFIG_QEMU is not set
-# CONFIG_CSM is not set
-# CONFIG_QEMU_HARDWARE is not set
-CONFIG_THREADS=y
-CONFIG_RELOCATE_INIT=y
-CONFIG_BOOTMENU=y
-CONFIG_BOOTSPLASH=y
-CONFIG_BOOTORDER=y
-CONFIG_HOST_BIOS_GEOMETRY=y
-CONFIG_COREBOOT_FLASH=y
-CONFIG_LZMA=y
-CONFIG_CBFS_LOCATION=0
-CONFIG_MULTIBOOT=y
-CONFIG_ENTRY_EXTRASTACK=y
-CONFIG_MALLOC_UPPERMEMORY=y
-CONFIG_ROM_SIZE=0
-
-#
-# Hardware support
-#
-CONFIG_ATA=y
-CONFIG_ATA_DMA=y
-# CONFIG_ATA_PIO32 is not set
-CONFIG_AHCI=y
-CONFIG_SDCARD=y
-CONFIG_MEGASAS=y
-CONFIG_FLOPPY=y
-CONFIG_FLASH_FLOPPY=y
-CONFIG_NVME=y
-CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_XHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_UAS=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
-CONFIG_SERIAL=y
-CONFIG_SERCON=y
-CONFIG_LPT=y
-CONFIG_RTC_TIMER=y
-CONFIG_HARDWARE_IRQ=y
-CONFIG_PMTIMER=y
-CONFIG_TSC_TIMER=y
-
-#
-# BIOS interfaces
-#
-CONFIG_DRIVES=y
-CONFIG_CDROM_BOOT=y
-CONFIG_CDROM_EMU=y
-CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
-CONFIG_OPTIONROMS=y
-CONFIG_PMM=y
-CONFIG_BOOT=y
-CONFIG_KEYBOARD=y
-CONFIG_KBD_CALL_INT15_4F=y
-CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
-CONFIG_VGAHOOKS=y
-# CONFIG_DISABLE_A20 is not set
-CONFIG_TCGBIOS=y
-
-#
-# VGA ROM
-#
-# CONFIG_NO_VGABIOS is not set
-# CONFIG_VGA_GEODEGX2 is not set
-# CONFIG_VGA_GEODELX is not set
-CONFIG_VGA_COREBOOT=y
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_EMULATE_TEXT=y
-CONFIG_VGA_FIXUP_ASM=y
-CONFIG_VGA_ALLOCATE_EXTRA_STACK=y
-CONFIG_VGA_EXTRA_STACK_SIZE=512
-CONFIG_VGA_VBE=y
-
-#
-# Debugging
-#
-CONFIG_DEBUG_LEVEL=0
diff --git a/resources/seabios/config/normal b/resources/seabios/config/normal
deleted file mode 100644
index 92b9c56c..00000000
--- a/resources/seabios/config/normal
+++ /dev/null
@@ -1,91 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# SeaBIOS Configuration
-#
-
-#
-# General Features
-#
-CONFIG_COREBOOT=y
-# CONFIG_QEMU is not set
-# CONFIG_CSM is not set
-# CONFIG_QEMU_HARDWARE is not set
-CONFIG_THREADS=y
-CONFIG_RELOCATE_INIT=y
-CONFIG_BOOTMENU=y
-CONFIG_BOOTSPLASH=y
-CONFIG_BOOTORDER=y
-CONFIG_HOST_BIOS_GEOMETRY=y
-CONFIG_COREBOOT_FLASH=y
-CONFIG_LZMA=y
-CONFIG_CBFS_LOCATION=0
-CONFIG_MULTIBOOT=y
-CONFIG_ENTRY_EXTRASTACK=y
-CONFIG_MALLOC_UPPERMEMORY=y
-CONFIG_ROM_SIZE=0
-
-#
-# Hardware support
-#
-CONFIG_ATA=y
-CONFIG_ATA_DMA=y
-# CONFIG_ATA_PIO32 is not set
-CONFIG_AHCI=y
-CONFIG_SDCARD=y
-CONFIG_MEGASAS=y
-CONFIG_FLOPPY=y
-CONFIG_FLASH_FLOPPY=y
-CONFIG_NVME=y
-CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_XHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_UAS=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
-CONFIG_SERIAL=y
-CONFIG_SERCON=y
-CONFIG_LPT=y
-CONFIG_RTC_TIMER=y
-CONFIG_HARDWARE_IRQ=y
-CONFIG_PMTIMER=y
-CONFIG_TSC_TIMER=y
-
-#
-# BIOS interfaces
-#
-CONFIG_DRIVES=y
-CONFIG_CDROM_BOOT=y
-CONFIG_CDROM_EMU=y
-CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
-CONFIG_OPTIONROMS=y
-CONFIG_PMM=y
-CONFIG_BOOT=y
-CONFIG_KEYBOARD=y
-CONFIG_KBD_CALL_INT15_4F=y
-CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
-CONFIG_VGAHOOKS=y
-# CONFIG_DISABLE_A20 is not set
-CONFIG_TCGBIOS=y
-
-#
-# VGA ROM
-#
-CONFIG_NO_VGABIOS=y
-# CONFIG_VGA_GEODEGX2 is not set
-# CONFIG_VGA_GEODELX is not set
-# CONFIG_VGA_COREBOOT is not set
-# CONFIG_BUILD_VGABIOS is not set
-CONFIG_VGA_EXTRA_STACK_SIZE=512
-
-#
-# Debugging
-#
-CONFIG_DEBUG_LEVEL=0
diff --git a/resources/seabios/config/vgarom b/resources/seabios/config/vgarom
deleted file mode 100644
index 9f543cea..00000000
--- a/resources/seabios/config/vgarom
+++ /dev/null
@@ -1,90 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# SeaBIOS Configuration
-#
-
-#
-# General Features
-#
-CONFIG_COREBOOT=y
-# CONFIG_QEMU is not set
-# CONFIG_CSM is not set
-# CONFIG_QEMU_HARDWARE is not set
-CONFIG_THREADS=y
-CONFIG_RELOCATE_INIT=y
-CONFIG_BOOTMENU=y
-CONFIG_BOOTSPLASH=y
-CONFIG_BOOTORDER=y
-CONFIG_HOST_BIOS_GEOMETRY=y
-CONFIG_COREBOOT_FLASH=y
-CONFIG_LZMA=y
-CONFIG_CBFS_LOCATION=0
-CONFIG_MULTIBOOT=y
-CONFIG_ENTRY_EXTRASTACK=y
-CONFIG_MALLOC_UPPERMEMORY=y
-CONFIG_ROM_SIZE=0
-
-#
-# Hardware support
-#
-CONFIG_ATA=y
-CONFIG_ATA_DMA=y
-# CONFIG_ATA_PIO32 is not set
-CONFIG_AHCI=y
-CONFIG_SDCARD=y
-CONFIG_MEGASAS=y
-CONFIG_FLOPPY=y
-CONFIG_FLASH_FLOPPY=y
-CONFIG_NVME=y
-CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_XHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_UAS=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
-CONFIG_SERIAL=y
-CONFIG_SERCON=y
-CONFIG_LPT=y
-CONFIG_RTC_TIMER=y
-CONFIG_HARDWARE_IRQ=y
-CONFIG_PMTIMER=y
-CONFIG_TSC_TIMER=y
-
-#
-# BIOS interfaces
-#
-CONFIG_DRIVES=y
-CONFIG_CDROM_BOOT=y
-CONFIG_CDROM_EMU=y
-CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
-# CONFIG_OPTIONROMS is not set
-CONFIG_BOOT=y
-CONFIG_KEYBOARD=y
-CONFIG_KBD_CALL_INT15_4F=y
-CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
-CONFIG_VGAHOOKS=y
-# CONFIG_DISABLE_A20 is not set
-CONFIG_TCGBIOS=y
-
-#
-# VGA ROM
-#
-CONFIG_NO_VGABIOS=y
-# CONFIG_VGA_GEODEGX2 is not set
-# CONFIG_VGA_GEODELX is not set
-# CONFIG_VGA_COREBOOT is not set
-# CONFIG_BUILD_VGABIOS is not set
-CONFIG_VGA_EXTRA_STACK_SIZE=512
-
-#
-# Debugging
-#
-CONFIG_DEBUG_LEVEL=0
-- 
cgit v1.2.1