Skip to content

Commit

Permalink
boot: Build BCD parser only on arches supported by Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
medhefgo committed Dec 29, 2021
1 parent d39d369 commit 77fcf28
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
2 changes: 2 additions & 0 deletions src/boot/efi/boot.c
Expand Up @@ -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;
Expand All @@ -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(
Expand Down
21 changes: 12 additions & 9 deletions src/boot/efi/meson.build
Expand Up @@ -331,7 +331,6 @@ common_sources = [
'util.c']

systemd_boot_sources = [
'bcd.c',
'boot.c',
'console.c',
'drivers.c',
Expand All @@ -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
Expand Down Expand Up @@ -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]],
Expand Down

0 comments on commit 77fcf28

Please sign in to comment.