diff options
author | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-01-07 15:22:54 -0700 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@parabola.nu> | 2024-01-07 20:17:33 -0700 |
commit | cddec269f4bbda6d231cb8987c475403a2a36120 (patch) | |
tree | ecfea1c4716afeaf96c039cf6d137b1060c74b02 /libre/grub/PKGBUILD | |
parent | dbc32760f6d1cb21ddce5ba8c0b60a29c6fd6681 (diff) |
libre/grub: factor out the common part of the _build_grub-* functions
Diffstat (limited to 'libre/grub/PKGBUILD')
-rw-r--r-- | libre/grub/PKGBUILD | 242 |
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() { |