:: commit 16b944e360a43860a98c3401961040c01c0f3e53

mintsuki <mintsuki@protonmail.com> — 2022-02-08 14:35

parents: b93ceee721

build: Make eltorito-efi build manually toggleable

diff --git a/GNUmakefile.in b/GNUmakefile.in
index 334f7c66..fcb7d6ef 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -16,6 +16,8 @@ NASMESCAPE = $(subst ','"'$(COMMA) \"'\"$(COMMA) '"',$(1))
 override PATH := $(BUILDDIR)/toolchain/bin:/usr/local/bin:$(PATH)
 export PATH
 
+override BUILD_ELTORITO_EFI := @build_eltorito_efi@
+
 WERROR ?= @werror@
 export WERROR
 
@@ -140,6 +142,7 @@ limine-bios: common-bios decompressor
 
 .PHONY: limine-eltorito-efi
 limine-eltorito-efi:
+ifeq ($(BUILD_ELTORITO_EFI), yes)
 	mkdir -p '$(call SHESCAPE,$(BINDIR))'
 	dd if=/dev/zero of='$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' bs=512 count=2880 2>/dev/null
 	( mformat -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' -f 1440 :: && \
@@ -150,6 +153,7 @@ limine-eltorito-efi:
 	  ( ( [ -f '$(call SHESCAPE,$(BUILDDIR))/common-uefi32/BOOTIA32.EFI' ] && \
 	      mcopy -D o -i '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin' '$(call SHESCAPE,$(BUILDDIR))/common-uefi32/BOOTIA32.EFI' ::/EFI/BOOT ) || true ) \
 	) || rm -f '$(call SHESCAPE,$(BINDIR))/limine-eltorito-efi.bin'
+endif
 
 .PHONY: limine-uefi
 limine-uefi: limine-uefi32 limine-uefi64
diff --git a/configure.ac b/configure.ac
index 1d1315d6..4a4b521a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,9 +41,20 @@ if ! test "x$GZIP_FOUND" = "xyes"; then
     AC_MSG_ERROR([gzip not found, please install gzip before configuring])
 fi
 
+BUILD_ELTORITO_EFI="yes"
+
+AC_ARG_ENABLE([eltorito-efi],
+    AS_HELP_STRING([--disable-eltorito-efi], [disable limine-eltorito-efi.bin build]),
+    BUILD_ELTORITO_EFI="$enableval")
+
 AC_CHECK_PROG([MTOOLS_FOUND], [mcopy], [yes])
 if ! test "x$MTOOLS_FOUND" = "xyes"; then
     AC_MSG_WARN([mtools not found, install mtools to build limine-eltorito-efi.bin])
+    BUILD_ELTORITO_EFI="no"
+fi
+
+if test "$BUILD_ELTORITO_EFI" = "yes"; then
+    AC_SUBST(build_eltorito_efi, [yes])
 fi
 
 AC_ARG_VAR(HOST_CC, [C compiler for the build host [default: $CC]])
tab: 248 wrap: offon