boot: Build BCD parser only on arches supported by Windows
This commit is contained in:
@@ -1941,6 +1941,7 @@ static void config_entry_add_osx(Config *config) {
|
||||
}
|
||||
|
||||
static void config_entry_add_windows(Config *config, EFI_HANDLE *device, EFI_FILE *root_dir) {
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
|
||||
_cleanup_freepool_ CHAR8 *bcd = NULL;
|
||||
CHAR16 *title = NULL;
|
||||
EFI_STATUS err;
|
||||
@@ -1961,6 +1962,7 @@ static void config_entry_add_windows(Config *config, EFI_HANDLE *device, EFI_FIL
|
||||
config_entry_add_loader_auto(config, device, root_dir, NULL,
|
||||
L"auto-windows", 'w', title ?: L"Windows Boot Manager",
|
||||
L"\\EFI\\Microsoft\\Boot\\bootmgfw.efi");
|
||||
#endif
|
||||
}
|
||||
|
||||
static void config_entry_add_linux(
|
||||
|
||||
@@ -331,7 +331,6 @@ common_sources = [
|
||||
'util.c']
|
||||
|
||||
systemd_boot_sources = [
|
||||
'bcd.c',
|
||||
'boot.c',
|
||||
'console.c',
|
||||
'drivers.c',
|
||||
@@ -351,6 +350,18 @@ else
|
||||
stub_sources += 'linux.c'
|
||||
endif
|
||||
|
||||
# BCD parser only makes sense on arches that Windows supports.
|
||||
if efi_arch[1] in ['ia32', 'x86_64', 'arm', 'aarch64']
|
||||
systemd_boot_sources += 'bcd.c'
|
||||
tests += [
|
||||
[['src/boot/efi/test-bcd.c'],
|
||||
[],
|
||||
[libzstd],
|
||||
[],
|
||||
'HAVE_ZSTD'],
|
||||
]
|
||||
endif
|
||||
|
||||
systemd_boot_objects = []
|
||||
stub_objects = []
|
||||
foreach file : fundamental_source_paths + common_sources + systemd_boot_sources + stub_sources
|
||||
@@ -407,14 +418,6 @@ endforeach
|
||||
|
||||
############################################################
|
||||
|
||||
tests += [
|
||||
[['src/boot/efi/test-bcd.c'],
|
||||
[],
|
||||
[libzstd],
|
||||
[],
|
||||
'HAVE_ZSTD'],
|
||||
]
|
||||
|
||||
test_efi_disk_img = custom_target(
|
||||
'test-efi-disk.img',
|
||||
input : [efi_stubs[0][0], efi_stubs[1][1]],
|
||||
|
||||
Reference in New Issue
Block a user