aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-09-23 06:55:28 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2021-09-30 15:30:24 +0200
commite49c0ef6f1cca3943f3d61da6e3da7e03ddf2a22 (patch)
treef11e97ebadb97bc9667207231487f7560cca88ae
parent0205c4fa1ea35d569b4c2f63adacef438c1e8f53 (diff)
downloadqemu-e49c0ef6f1cca3943f3d61da6e3da7e03ddf2a22.zip
qemu-e49c0ef6f1cca3943f3d61da6e3da7e03ddf2a22.tar.gz
qemu-e49c0ef6f1cca3943f3d61da6e3da7e03ddf2a22.tar.bz2
meson: unpack edk2 firmware even if --disable-blobs
The edk2 firmware blobs are needed to run bios-tables-test. Unpack them if any UEFI-enabled target is selected, so that the test can run. This is a bit more than is actually necessary, since bios-tables-test does not run for all UEFI-enabled targets, but it is the easiest way to write this logic. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20210923105529.3845741-1-pbonzini@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--meson.build16
-rw-r--r--pc-bios/descriptors/meson.build4
-rw-r--r--pc-bios/meson.build2
3 files changed, 11 insertions, 11 deletions
diff --git a/meson.build b/meson.build
index 7bdbbbd..fbdab30 100644
--- a/meson.build
+++ b/meson.build
@@ -106,14 +106,14 @@ if targetos != 'darwin'
endif
edk2_targets = [ 'arm-softmmu', 'aarch64-softmmu', 'i386-softmmu', 'x86_64-softmmu' ]
-install_edk2_blobs = false
-if get_option('install_blobs')
- foreach target : target_dirs
- install_edk2_blobs = install_edk2_blobs or target in edk2_targets
- endforeach
-endif
-
-bzip2 = find_program('bzip2', required: install_edk2_blobs)
+unpack_edk2_blobs = false
+foreach target : edk2_targets
+ if target in target_dirs
+ bzip2 = find_program('bzip2', required: get_option('install_blobs'))
+ unpack_edk2_blobs = bzip2.found()
+ break
+ endif
+endforeach
##################
# Compiler flags #
diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
index 29efa16..66f85d0 100644
--- a/pc-bios/descriptors/meson.build
+++ b/pc-bios/descriptors/meson.build
@@ -1,4 +1,4 @@
-if install_edk2_blobs
+if unpack_edk2_blobs and get_option('install_blobs')
foreach f: [
'50-edk2-i386-secure.json',
'50-edk2-x86_64-secure.json',
@@ -10,7 +10,7 @@ if install_edk2_blobs
configure_file(input: files(f),
output: f,
configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
- install: get_option('install_blobs'),
+ install: true,
install_dir: qemu_datadir / 'firmware')
endforeach
endif
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index f2b3259..a3b3d87 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -1,4 +1,4 @@
-if install_edk2_blobs
+if unpack_edk2_blobs
fds = [
'edk2-aarch64-code.fd',
'edk2-arm-code.fd',