* [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation
@ 2021-01-14 17:45 Philippe Mathieu-Daudé
2021-01-14 17:45 ` [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables Philippe Mathieu-Daudé
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-14 17:45 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Philippe Mathieu-Daudé, John Snow, Laszlo Ersek
Fix the following error when bzip2 program is not installed:
../pc-bios/meson.build:5:2: ERROR: Program 'bzip2' not found
(First patch easier to review using 'git-diff --ignore-all-space').
Philippe Mathieu-Daudé (2):
meson.build: Declare global edk2_targets / install_edk2_blobs
variables
meson.build: Detect bzip2 program
meson.build | 10 ++++++++++
pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
pc-bios/meson.build | 6 +-----
3 files changed, 27 insertions(+), 19 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables
2021-01-14 17:45 [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Philippe Mathieu-Daudé
@ 2021-01-14 17:45 ` Philippe Mathieu-Daudé
2021-01-14 19:49 ` Laszlo Ersek
2021-01-14 17:45 ` [PATCH 2/2] meson.build: Detect bzip2 program Philippe Mathieu-Daudé
2021-01-14 19:46 ` [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Paolo Bonzini
2 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-14 17:45 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Philippe Mathieu-Daudé, John Snow, Laszlo Ersek
Globally declare in the main meson.build:
- the list of EDK2 targets,
- whether the EDK2 blobs have to be installed.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Patch trivial to review using 'git-diff --ignore-all-space'
---
meson.build | 8 ++++++++
pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
pc-bios/meson.build | 5 +----
3 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/meson.build b/meson.build
index 3d889857a09..ecc45d04d6a 100644
--- a/meson.build
+++ b/meson.build
@@ -88,6 +88,14 @@
}
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
+
##################
# Compiler flags #
##################
diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
index 7040834573d..ac6ec66b007 100644
--- a/pc-bios/descriptors/meson.build
+++ b/pc-bios/descriptors/meson.build
@@ -1,14 +1,16 @@
-foreach f: [
- '50-edk2-i386-secure.json',
- '50-edk2-x86_64-secure.json',
- '60-edk2-aarch64.json',
- '60-edk2-arm.json',
- '60-edk2-i386.json',
- '60-edk2-x86_64.json'
-]
- configure_file(input: files(f),
- output: f,
- configuration: {'DATADIR': qemu_datadir},
- install: get_option('install_blobs'),
- install_dir: qemu_datadir / 'firmware')
-endforeach
+if install_edk2_blobs
+ foreach f: [
+ '50-edk2-i386-secure.json',
+ '50-edk2-x86_64-secure.json',
+ '60-edk2-aarch64.json',
+ '60-edk2-arm.json',
+ '60-edk2-i386.json',
+ '60-edk2-x86_64.json'
+ ]
+ configure_file(input: files(f),
+ output: f,
+ configuration: {'DATADIR': qemu_datadir},
+ install: get_option('install_blobs'),
+ install_dir: qemu_datadir / 'firmware')
+ endforeach
+endif
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index fab323af84e..6a341b6cea0 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -1,7 +1,4 @@
-if 'arm-softmmu' in target_dirs or \
- 'aarch64-softmmu' in target_dirs or \
- 'i386-softmmu' in target_dirs or \
- 'x86_64-softmmu' in target_dirs
+if install_edk2_blobs
bzip2 = find_program('bzip2', required: true)
fds = [
'edk2-aarch64-code.fd',
--
2.26.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] meson.build: Detect bzip2 program
2021-01-14 17:45 [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Philippe Mathieu-Daudé
2021-01-14 17:45 ` [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables Philippe Mathieu-Daudé
@ 2021-01-14 17:45 ` Philippe Mathieu-Daudé
2021-01-14 19:10 ` John Snow
2021-01-14 19:50 ` Laszlo Ersek
2021-01-14 19:46 ` [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Paolo Bonzini
2 siblings, 2 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-14 17:45 UTC (permalink / raw)
To: qemu-devel
Cc: Paolo Bonzini, Philippe Mathieu-Daudé, John Snow, Laszlo Ersek
The --enable-bzip2/--disable-bzip2 configure arguments are
somehow misleading, they check for the bzip2 library, not
the bzip2 program.
We need the bzip2 program to install the EDK2 firmware blobs
(see commit 623ef637a2e "configure: Check bzip2 is available").
Check if the bzip2 program in the global meson.build to avoid
the configuration to succeed, but a later when trying to install
the firmware blobs:
../pc-bios/meson.build:5:2: ERROR: Program 'bzip2' not found
Reported-by: John Snow <jsnow@redhat.com>
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Fixes: c8d5450bba3 ("configure: move install_blobs from configure to meson")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
meson.build | 2 ++
pc-bios/meson.build | 1 -
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index ecc45d04d6a..954152c90fe 100644
--- a/meson.build
+++ b/meson.build
@@ -96,6 +96,8 @@
endforeach
endif
+bzip2 = find_program('bzip2', required: install_edk2_blobs)
+
##################
# Compiler flags #
##################
diff --git a/pc-bios/meson.build b/pc-bios/meson.build
index 6a341b6cea0..af95c5d1f1d 100644
--- a/pc-bios/meson.build
+++ b/pc-bios/meson.build
@@ -1,5 +1,4 @@
if install_edk2_blobs
- bzip2 = find_program('bzip2', required: true)
fds = [
'edk2-aarch64-code.fd',
'edk2-arm-code.fd',
--
2.26.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] meson.build: Detect bzip2 program
2021-01-14 17:45 ` [PATCH 2/2] meson.build: Detect bzip2 program Philippe Mathieu-Daudé
@ 2021-01-14 19:10 ` John Snow
2021-01-14 19:50 ` Laszlo Ersek
1 sibling, 0 replies; 9+ messages in thread
From: John Snow @ 2021-01-14 19:10 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Paolo Bonzini, Laszlo Ersek
On 1/14/21 12:45 PM, Philippe Mathieu-Daudé wrote:
> The --enable-bzip2/--disable-bzip2 configure arguments are
> somehow misleading, they check for the bzip2 library, not
> the bzip2 program.
>
Well. I was mislead, but they're fine, really.
> We need the bzip2 program to install the EDK2 firmware blobs
> (see commit 623ef637a2e "configure: Check bzip2 is available").
>
> Check if the bzip2 program in the global meson.build to avoid
> the configuration to succeed, but a later when trying to install
> the firmware blobs:
>
> ../pc-bios/meson.build:5:2: ERROR: Program 'bzip2' not found
>
> Reported-by: John Snow <jsnow@redhat.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Fixes: c8d5450bba3 ("configure: move install_blobs from configure to meson")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> meson.build | 2 ++
> pc-bios/meson.build | 1 -
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meson.build b/meson.build
> index ecc45d04d6a..954152c90fe 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -96,6 +96,8 @@
> endforeach
> endif
>
> +bzip2 = find_program('bzip2', required: install_edk2_blobs)
> +
Seems good though :)
> ##################
> # Compiler flags #
> ##################
> diff --git a/pc-bios/meson.build b/pc-bios/meson.build
> index 6a341b6cea0..af95c5d1f1d 100644
> --- a/pc-bios/meson.build
> +++ b/pc-bios/meson.build
> @@ -1,5 +1,4 @@
> if install_edk2_blobs
> - bzip2 = find_program('bzip2', required: true)
> fds = [
> 'edk2-aarch64-code.fd',
> 'edk2-arm-code.fd',
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation
2021-01-14 17:45 [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Philippe Mathieu-Daudé
2021-01-14 17:45 ` [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables Philippe Mathieu-Daudé
2021-01-14 17:45 ` [PATCH 2/2] meson.build: Detect bzip2 program Philippe Mathieu-Daudé
@ 2021-01-14 19:46 ` Paolo Bonzini
2 siblings, 0 replies; 9+ messages in thread
From: Paolo Bonzini @ 2021-01-14 19:46 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Laszlo Ersek, John Snow
On 14/01/21 18:45, Philippe Mathieu-Daudé wrote:
> Fix the following error when bzip2 program is not installed:
>
> ../pc-bios/meson.build:5:2: ERROR: Program 'bzip2' not found
>
> (First patch easier to review using 'git-diff --ignore-all-space').
>
> Philippe Mathieu-Daudé (2):
> meson.build: Declare global edk2_targets / install_edk2_blobs
> variables
> meson.build: Detect bzip2 program
>
> meson.build | 10 ++++++++++
> pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
> pc-bios/meson.build | 6 +-----
> 3 files changed, 27 insertions(+), 19 deletions(-)
>
Queued, thanks.
Paolo
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables
2021-01-14 17:45 ` [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables Philippe Mathieu-Daudé
@ 2021-01-14 19:49 ` Laszlo Ersek
2021-01-14 19:57 ` Philippe Mathieu-Daudé
0 siblings, 1 reply; 9+ messages in thread
From: Laszlo Ersek @ 2021-01-14 19:49 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Paolo Bonzini, John Snow
On 01/14/21 18:45, Philippe Mathieu-Daudé wrote:
> Globally declare in the main meson.build:
> - the list of EDK2 targets,
> - whether the EDK2 blobs have to be installed.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Patch trivial to review using 'git-diff --ignore-all-space'
> ---
> meson.build | 8 ++++++++
> pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
> pc-bios/meson.build | 5 +----
> 3 files changed, 25 insertions(+), 18 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 3d889857a09..ecc45d04d6a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -88,6 +88,14 @@
> }
> 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
> +
> ##################
> # Compiler flags #
> ##################
> diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
> index 7040834573d..ac6ec66b007 100644
> --- a/pc-bios/descriptors/meson.build
> +++ b/pc-bios/descriptors/meson.build
> @@ -1,14 +1,16 @@
> -foreach f: [
> - '50-edk2-i386-secure.json',
> - '50-edk2-x86_64-secure.json',
> - '60-edk2-aarch64.json',
> - '60-edk2-arm.json',
> - '60-edk2-i386.json',
> - '60-edk2-x86_64.json'
> -]
> - configure_file(input: files(f),
> - output: f,
> - configuration: {'DATADIR': qemu_datadir},
> - install: get_option('install_blobs'),
> - install_dir: qemu_datadir / 'firmware')
> -endforeach
> +if install_edk2_blobs
> + foreach f: [
> + '50-edk2-i386-secure.json',
> + '50-edk2-x86_64-secure.json',
> + '60-edk2-aarch64.json',
> + '60-edk2-arm.json',
> + '60-edk2-i386.json',
> + '60-edk2-x86_64.json'
> + ]
> + configure_file(input: files(f),
> + output: f,
> + configuration: {'DATADIR': qemu_datadir},
> + install: get_option('install_blobs'),
> + install_dir: qemu_datadir / 'firmware')
> + endforeach
> +endif
> diff --git a/pc-bios/meson.build b/pc-bios/meson.build
> index fab323af84e..6a341b6cea0 100644
> --- a/pc-bios/meson.build
> +++ b/pc-bios/meson.build
> @@ -1,7 +1,4 @@
> -if 'arm-softmmu' in target_dirs or \
> - 'aarch64-softmmu' in target_dirs or \
> - 'i386-softmmu' in target_dirs or \
> - 'x86_64-softmmu' in target_dirs
> +if install_edk2_blobs
> bzip2 = find_program('bzip2', required: true)
> fds = [
> 'edk2-aarch64-code.fd',
>
I vaguely understand what this patch does (I haven't followed the meson
conversion), but I'm unsure why it does that.
Is this patch useful in itself, or only in preparation for patch#2?
Thanks,
Laszlo
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] meson.build: Detect bzip2 program
2021-01-14 17:45 ` [PATCH 2/2] meson.build: Detect bzip2 program Philippe Mathieu-Daudé
2021-01-14 19:10 ` John Snow
@ 2021-01-14 19:50 ` Laszlo Ersek
1 sibling, 0 replies; 9+ messages in thread
From: Laszlo Ersek @ 2021-01-14 19:50 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Paolo Bonzini, John Snow
On 01/14/21 18:45, Philippe Mathieu-Daudé wrote:
> The --enable-bzip2/--disable-bzip2 configure arguments are
> somehow misleading, they check for the bzip2 library, not
> the bzip2 program.
>
> We need the bzip2 program to install the EDK2 firmware blobs
> (see commit 623ef637a2e "configure: Check bzip2 is available").
>
> Check if the bzip2 program in the global meson.build to avoid
> the configuration to succeed, but a later when trying to install
> the firmware blobs:
>
> ../pc-bios/meson.build:5:2: ERROR: Program 'bzip2' not found
>
> Reported-by: John Snow <jsnow@redhat.com>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Fixes: c8d5450bba3 ("configure: move install_blobs from configure to meson")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> meson.build | 2 ++
> pc-bios/meson.build | 1 -
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/meson.build b/meson.build
> index ecc45d04d6a..954152c90fe 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -96,6 +96,8 @@
> endforeach
> endif
>
> +bzip2 = find_program('bzip2', required: install_edk2_blobs)
> +
> ##################
> # Compiler flags #
> ##################
> diff --git a/pc-bios/meson.build b/pc-bios/meson.build
> index 6a341b6cea0..af95c5d1f1d 100644
> --- a/pc-bios/meson.build
> +++ b/pc-bios/meson.build
> @@ -1,5 +1,4 @@
> if install_edk2_blobs
> - bzip2 = find_program('bzip2', required: true)
> fds = [
> 'edk2-aarch64-code.fd',
> 'edk2-arm-code.fd',
>
Right, this looks sensible; still it makes me think patch#1 is only prep
for this. (That's OK, but then patch#1 should say so.)
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Thanks
laszlo
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables
2021-01-14 19:49 ` Laszlo Ersek
@ 2021-01-14 19:57 ` Philippe Mathieu-Daudé
2021-01-14 20:05 ` Laszlo Ersek
0 siblings, 1 reply; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-01-14 19:57 UTC (permalink / raw)
To: Laszlo Ersek, qemu-devel; +Cc: Paolo Bonzini, John Snow
On 1/14/21 8:49 PM, Laszlo Ersek wrote:
> On 01/14/21 18:45, Philippe Mathieu-Daudé wrote:
>> Globally declare in the main meson.build:
>> - the list of EDK2 targets,
>> - whether the EDK2 blobs have to be installed.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Patch trivial to review using 'git-diff --ignore-all-space'
>> ---
>> meson.build | 8 ++++++++
>> pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
>> pc-bios/meson.build | 5 +----
>> 3 files changed, 25 insertions(+), 18 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index 3d889857a09..ecc45d04d6a 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -88,6 +88,14 @@
>> }
>> 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
>> +
>> ##################
>> # Compiler flags #
>> ##################
>> diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
>> index 7040834573d..ac6ec66b007 100644
>> --- a/pc-bios/descriptors/meson.build
>> +++ b/pc-bios/descriptors/meson.build
>> @@ -1,14 +1,16 @@
>> -foreach f: [
>> - '50-edk2-i386-secure.json',
>> - '50-edk2-x86_64-secure.json',
>> - '60-edk2-aarch64.json',
>> - '60-edk2-arm.json',
>> - '60-edk2-i386.json',
>> - '60-edk2-x86_64.json'
>> -]
>> - configure_file(input: files(f),
>> - output: f,
>> - configuration: {'DATADIR': qemu_datadir},
>> - install: get_option('install_blobs'),
>> - install_dir: qemu_datadir / 'firmware')
>> -endforeach
>> +if install_edk2_blobs
>> + foreach f: [
>> + '50-edk2-i386-secure.json',
>> + '50-edk2-x86_64-secure.json',
>> + '60-edk2-aarch64.json',
>> + '60-edk2-arm.json',
>> + '60-edk2-i386.json',
>> + '60-edk2-x86_64.json'
>> + ]
>> + configure_file(input: files(f),
>> + output: f,
>> + configuration: {'DATADIR': qemu_datadir},
>> + install: get_option('install_blobs'),
>> + install_dir: qemu_datadir / 'firmware')
>> + endforeach
>> +endif
>> diff --git a/pc-bios/meson.build b/pc-bios/meson.build
>> index fab323af84e..6a341b6cea0 100644
>> --- a/pc-bios/meson.build
>> +++ b/pc-bios/meson.build
>> @@ -1,7 +1,4 @@
>> -if 'arm-softmmu' in target_dirs or \
>> - 'aarch64-softmmu' in target_dirs or \
>> - 'i386-softmmu' in target_dirs or \
>> - 'x86_64-softmmu' in target_dirs
>> +if install_edk2_blobs
>> bzip2 = find_program('bzip2', required: true)
>> fds = [
>> 'edk2-aarch64-code.fd',
>>
>
> I vaguely understand what this patch does (I haven't followed the meson
> conversion), but I'm unsure why it does that.
>
> Is this patch useful in itself, or only in preparation for patch#2?
Well, something I forgot to mention is it disable the configure_file()
calls when arm/aarch64/i386/x86_64-softmmu targets are not selected.
(currently if you configure a restricted set of targets, such
--target-list=riscv64-softmmu,ppc-softmmu, it is called, and
the json descriptors files are installed, even if these targets
don't require them).
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables
2021-01-14 19:57 ` Philippe Mathieu-Daudé
@ 2021-01-14 20:05 ` Laszlo Ersek
0 siblings, 0 replies; 9+ messages in thread
From: Laszlo Ersek @ 2021-01-14 20:05 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel; +Cc: Paolo Bonzini, John Snow
On 01/14/21 20:57, Philippe Mathieu-Daudé wrote:
> On 1/14/21 8:49 PM, Laszlo Ersek wrote:
>> On 01/14/21 18:45, Philippe Mathieu-Daudé wrote:
>>> Globally declare in the main meson.build:
>>> - the list of EDK2 targets,
>>> - whether the EDK2 blobs have to be installed.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>> ---
>>> Patch trivial to review using 'git-diff --ignore-all-space'
>>> ---
>>> meson.build | 8 ++++++++
>>> pc-bios/descriptors/meson.build | 30 ++++++++++++++++--------------
>>> pc-bios/meson.build | 5 +----
>>> 3 files changed, 25 insertions(+), 18 deletions(-)
>>>
>>> diff --git a/meson.build b/meson.build
>>> index 3d889857a09..ecc45d04d6a 100644
>>> --- a/meson.build
>>> +++ b/meson.build
>>> @@ -88,6 +88,14 @@
>>> }
>>> 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
>>> +
>>> ##################
>>> # Compiler flags #
>>> ##################
>>> diff --git a/pc-bios/descriptors/meson.build b/pc-bios/descriptors/meson.build
>>> index 7040834573d..ac6ec66b007 100644
>>> --- a/pc-bios/descriptors/meson.build
>>> +++ b/pc-bios/descriptors/meson.build
>>> @@ -1,14 +1,16 @@
>>> -foreach f: [
>>> - '50-edk2-i386-secure.json',
>>> - '50-edk2-x86_64-secure.json',
>>> - '60-edk2-aarch64.json',
>>> - '60-edk2-arm.json',
>>> - '60-edk2-i386.json',
>>> - '60-edk2-x86_64.json'
>>> -]
>>> - configure_file(input: files(f),
>>> - output: f,
>>> - configuration: {'DATADIR': qemu_datadir},
>>> - install: get_option('install_blobs'),
>>> - install_dir: qemu_datadir / 'firmware')
>>> -endforeach
>>> +if install_edk2_blobs
>>> + foreach f: [
>>> + '50-edk2-i386-secure.json',
>>> + '50-edk2-x86_64-secure.json',
>>> + '60-edk2-aarch64.json',
>>> + '60-edk2-arm.json',
>>> + '60-edk2-i386.json',
>>> + '60-edk2-x86_64.json'
>>> + ]
>>> + configure_file(input: files(f),
>>> + output: f,
>>> + configuration: {'DATADIR': qemu_datadir},
>>> + install: get_option('install_blobs'),
>>> + install_dir: qemu_datadir / 'firmware')
>>> + endforeach
>>> +endif
>>> diff --git a/pc-bios/meson.build b/pc-bios/meson.build
>>> index fab323af84e..6a341b6cea0 100644
>>> --- a/pc-bios/meson.build
>>> +++ b/pc-bios/meson.build
>>> @@ -1,7 +1,4 @@
>>> -if 'arm-softmmu' in target_dirs or \
>>> - 'aarch64-softmmu' in target_dirs or \
>>> - 'i386-softmmu' in target_dirs or \
>>> - 'x86_64-softmmu' in target_dirs
>>> +if install_edk2_blobs
>>> bzip2 = find_program('bzip2', required: true)
>>> fds = [
>>> 'edk2-aarch64-code.fd',
>>>
>>
>> I vaguely understand what this patch does (I haven't followed the meson
>> conversion), but I'm unsure why it does that.
>>
>> Is this patch useful in itself, or only in preparation for patch#2?
>
> Well, something I forgot to mention is it disable the configure_file()
> calls when arm/aarch64/i386/x86_64-softmmu targets are not selected.
>
> (currently if you configure a restricted set of targets, such
> --target-list=riscv64-softmmu,ppc-softmmu, it is called, and
> the json descriptors files are installed, even if these targets
> don't require them).
>
Oof, sorry for missing that.
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Laszlo
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-01-14 20:07 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-14 17:45 [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Philippe Mathieu-Daudé
2021-01-14 17:45 ` [PATCH 1/2] meson.build: Declare global edk2_targets / install_edk2_blobs variables Philippe Mathieu-Daudé
2021-01-14 19:49 ` Laszlo Ersek
2021-01-14 19:57 ` Philippe Mathieu-Daudé
2021-01-14 20:05 ` Laszlo Ersek
2021-01-14 17:45 ` [PATCH 2/2] meson.build: Detect bzip2 program Philippe Mathieu-Daudé
2021-01-14 19:10 ` John Snow
2021-01-14 19:50 ` Laszlo Ersek
2021-01-14 19:46 ` [PATCH 0/2] meson.build: Fix bzip2 program detection for EDK2 blobs installation Paolo Bonzini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).