summaryrefslogtreecommitdiff
path: root/libre/grub/PKGBUILD
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@parabola.nu>2024-01-07 15:22:54 -0700
committerLuke T. Shumaker <lukeshu@parabola.nu>2024-01-07 20:17:33 -0700
commitcddec269f4bbda6d231cb8987c475403a2a36120 (patch)
treeecfea1c4716afeaf96c039cf6d137b1060c74b02 /libre/grub/PKGBUILD
parentdbc32760f6d1cb21ddce5ba8c0b60a29c6fd6681 (diff)
libre/grub: factor out the common part of the _build_grub-* functions
Diffstat (limited to 'libre/grub/PKGBUILD')
-rw-r--r--libre/grub/PKGBUILD242
1 files changed, 42 insertions, 200 deletions
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index 2f408e0a3..7eb37bbb8 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -212,62 +212,54 @@ prepare() {
gzip -cd "${srcdir}/unifont-${_unifont_ver}.bdf.gz" > "unifont.bdf"
}
-_build_grub-efi() {
- echo "Copy the source for building the ${_EFI_ARCH} EFI part..."
- cp -r "${srcdir}/grub/" "${srcdir}/grub-efi-${_EFI_ARCH}/"
- cd "${srcdir}/grub-efi-${_EFI_ARCH}/"
-
- echo "Unset all compiler FLAGS for ${_EFI_ARCH} EFI build..."
+# Usage: _build_grub DIRSUFFIX 'Human Description' CPU-PLATFORM CONFIG_OPTIONS...
+_build_grub() {
+ local bld_name="$1"
+ local bld_desc="$2"
+ local bld_cpu="${3%-*}"
+ local bld_plat="${3#*-}"
+ local bld_configure_options=("${@:4}")
+
+ echo "Copy the source for building the ${bld_desc} part..."
+ cp -r "${srcdir}/grub/" "${srcdir}/grub-${bld_name}/"
+ cd "${srcdir}/grub-${bld_name}/"
+
+ echo "Unset all compiler FLAGS for ${bld_desc} build..."
unset CFLAGS
unset CPPFLAGS
unset CXXFLAGS
unset LDFLAGS
unset MAKEFLAGS
- echo "Run bootstrap for ${_EFI_ARCH} EFI build..."
+ echo "Run bootstrap for ${bld_desc} build..."
./bootstrap \
--gnulib-srcdir="${srcdir}/gnulib/" \
--no-git
- echo "Run ./configure for ${_EFI_ARCH} EFI build..."
+ echo "Run ./configure for ${bld_desc} build..."
./configure \
- --with-platform="efi" \
- --target="${_EFI_ARCH}" \
+ --with-platform="${bld_plat}" \
+ --target="${bld_cpu}" \
+ "${bld_configure_options[@]}"
+
+ echo "Run make for ${bld_desc} build..."
+ make
+}
+
+_build_grub-efi() {
+ _build_grub "efi-${_EFI_ARCH}" "${_EFI_ARCH} EFI" \
+ "${_EFI_ARCH}-efi" \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo "Run make for ${_EFI_ARCH} EFI build..."
- make
}
_build_grub-xen() {
- echo "Copy the source for building the ${_XEN_ARCH} XEN part..."
- cp -r "${srcdir}/grub/" "${srcdir}/grub-xen-${_XEN_ARCH}/"
- cd "${srcdir}/grub-xen-${_XEN_ARCH}/"
-
- echo "Unset all compiler FLAGS for ${_XEN_ARCH} XEN build..."
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo "Run bootstrap for ${_XEN_ARCH} XEN build..."
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo "Run ./configure for ${_XEN_ARCH} XEN build..."
- ./configure \
- --with-platform='xen' \
- --target="${_XEN_ARCH}" \
+ _build_grub "xen-${_XEN_ARCH}" "${_XEN_ARCH} XEN" \
+ "${_XEN_ARCH}-xen" \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo "Run make for ${_XEN_ARCH} XEN build..."
- make
}
_build_grub-bios() {
@@ -278,212 +270,62 @@ _build_grub-bios() {
_EFIEMU='--disable-efiemu'
fi
- echo 'Copy the source for building the BIOS part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-bios/"
- cd "${srcdir}/grub-bios/"
-
- echo 'Unset all compiler FLAGS for BIOS build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for BIOS build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for BIOS build...'
- ./configure \
- --with-platform='pc' \
- --target='i386' \
+ _build_grub 'bios' 'BIOS' \
+ 'i386-pc' \
"${_EFIEMU}" \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for BIOS build...'
- make
}
_build_grub-qemu() {
- echo 'Copy the source for building the QEMU part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-qemu/"
- cd "${srcdir}/grub-qemu/"
-
- echo 'Unset all compiler FLAGS for QEMU build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for QEMU build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for QEMU build...'
- ./configure \
+ _build_grub 'qemu' 'QEMU' \
+ 'i386-qemu' \
BUILD_FREETYPE="pkg-config freetype2" \
- --with-platform='qemu' \
- --target='i386' \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for QEMU build...'
- make
}
_build_grub-ieee1275() {
- echo 'Copy the source for building the IEEE1275 (OpenFirmware) part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-ieee1275/"
- cd "${srcdir}/grub-ieee1275/"
-
- echo 'Unset all compiler FLAGS for IEEE1275 (OpenFirmware) build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for IEEE1275 (OpenFirmware) build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for IEEE1275 (OpenFirmware) build...'
- ./configure \
- --with-platform='ieee1275' \
- --target='i386' \
+ _build_grub 'ieee1275' 'IEEE1275 (OpenFirmware)' \
+ 'i386-ieee1275' \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for IEEE1275 (OpenFirmware) build...'
- make
}
_build_grub-libreboot() {
- echo 'Copy the source for building the Libreboot part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-libreboot/"
- cd "${srcdir}/grub-libreboot/"
-
- echo 'Unset all compiler FLAGS for Libreboot build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for Libreboot build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for Libreboot build...'
- ./configure \
+ _build_grub 'libreboot' 'Libreboot' \
+ 'i386-coreboot' \
BUILD_FREETYPE="pkg-config freetype2" \
- --with-platform='coreboot' \
- --target='i386' \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for Libreboot build...'
- make
}
_build_grub-multiboot() {
- echo 'Copy the source for building the Multiboot part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-multiboot/"
- cd "${srcdir}/grub-multiboot/"
-
- echo 'Unset all compiler FLAGS for Multiboot build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for Multiboot build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for Multiboot build...'
- ./configure \
- --with-platform='multiboot' \
- --target='i386' \
+ _build_grub 'multiboot' 'Multiboot' \
+ 'i386-multiboot' \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for Multiboot build...'
- make
}
_build_grub-emu() {
- echo 'Copy the source for building the emu part...'
- cp -r "${srcdir}/grub/" "${srcdir}/grub-emu/"
- cd "${srcdir}/grub-emu/"
-
- echo 'Unset all compiler FLAGS for emu build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- echo 'Run bootstrap for emu build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for emu build...'
- ./configure \
- --with-platform='emu' \
- --target="${_EMU_ARCH}" \
+ _build_grub 'emu' 'emu' \
+ "${_EMU_ARCH}-emu" \
--enable-grub-emu-usb=no \
--enable-grub-emu-sdl=no \
--disable-grub-emu-pci \
"${_configure_options[@]}"
-
- echo 'Run make for emu build...'
- make
}
_build_grub-uboot() {
- echo "Copy the source for building the U-Boot part..."
- cp -r "${srcdir}/grub/" "${srcdir}/grub-uboot/"
- cd "${srcdir}/grub-uboot/"
-
- echo 'Unset all compiler FLAGS for U-Boot build...'
- unset CFLAGS
- unset CPPFLAGS
- unset CXXFLAGS
- unset LDFLAGS
- unset MAKEFLAGS
-
- #sed -i '\|grub_arm_disable_caches_mmu|,+4 d
- # ' grub-core/loader/arm/linux.c
-
- echo 'Run bootstrap for U-Boot build...'
- ./bootstrap \
- --gnulib-srcdir="${srcdir}/gnulib/" \
- --no-git
-
- echo 'Run ./configure for U-Boot build...'
- ./configure \
- --with-platform='uboot' \
- --target='arm' \
+ _build_grub 'uboot' 'U-Boot' \
+ 'arm-uboot' \
--disable-efiemu \
--enable-boot-time \
"${_configure_options[@]}"
-
- echo 'Run make for U-Boot build...'
- make
}
build() {