[build] Allow for per-architecture sysroots

As done for CROSS_COMPILE in commit 8fc11d8 ("[build] Allow for
per-architecture cross-compilation prefixes"), allow a default sysroot
for each architecture to be specified via the SYSROOT_<arch>
variables.  These may then be provided as environment variables,
e.g. using

  export SYSROOT_riscv32=/usr/riscv32-linux-gnu/sys-root

This is particularly useful for architectures such as RISC-V where the
64-bit compiler is also used to build 32-bit binaries, since in those
cases the compiler will default to using the 64-bit sysroot.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2026-01-21 12:55:12 +00:00
parent 6eab3dbcd2
commit a42a15ae91

View File

@@ -268,6 +268,11 @@ ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := $(CROSS_COMPILE_$(ARCH))
endif
# Set cross-compilation sysroot automatically if not specified
ifeq ($(SYSROOT),)
SYSROOT := $(SYSROOT_$(ARCH))
endif
endif # defined(BIN)
###############################################################################