]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
meson: unpack edk2 firmware even if --disable-blobs
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 23 Sep 2021 10:55:28 +0000 (06:55 -0400)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 30 Sep 2021 13:30:24 +0000 (15:30 +0200)
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>
meson.build
pc-bios/descriptors/meson.build
pc-bios/meson.build

index 7bdbbbdf02ed0e9428a5c4f00676ebb7fade44af..fbdab3063bda723ca347b11a1078dbae02fbcc0c 100644 (file)
@@ -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 #
index 29efa16d99317e465802cc52b19043296233234e..66f85d01c42748d821576dea9268079d38540e5b 100644 (file)
@@ -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
index f2b32598af7944faa1dc143ec4ea0892a44f3e39..a3b3d8789119439272b0533b9b455c2d71bdc407 100644 (file)
@@ -1,4 +1,4 @@
-if install_edk2_blobs
+if unpack_edk2_blobs
   fds = [
     'edk2-aarch64-code.fd',
     'edk2-arm-code.fd',