[RFC PATCH] meson: Only install ROMs when building system emulation binaries

Philippe Mathieu-Daudé posted 1 patch 3 years, 3 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210115175135.3402714-1-philmd@redhat.com
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
[RFC PATCH] meson: Only install ROMs when building system emulation binaries
Posted by Philippe Mathieu-Daudé 3 years, 3 months ago
It is pointless to install ROM blobs for user emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
RFC because I think it would be better to make the 'blobs'
option a 'feature' instead of a boolean so we can set it
as 'auto' and then in that case we could do something

  blobs = have_system

because currently ./configure still displays:

                    Install blobs: YES

which is confusing.
---
 meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 954152c90fe..273b8e6baa9 100644
--- a/meson.build
+++ b/meson.build
@@ -2254,7 +2254,9 @@
 
 subdir('scripts')
 subdir('tools')
-subdir('pc-bios')
+if have_system
+  subdir('pc-bios')
+endif
 subdir('docs')
 subdir('tests')
 if gtk.found()
-- 
2.26.2

Re: [RFC PATCH] meson: Only install ROMs when building system emulation binaries
Posted by Paolo Bonzini 3 years, 3 months ago
On 15/01/21 18:51, Philippe Mathieu-Daudé wrote:
> It is pointless to install ROM blobs for user emulation.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> RFC because I think it would be better to make the 'blobs'
> option a 'feature' instead of a boolean so we can set it
> as 'auto' and then in that case we could do something

Yes it's better to do that and have

install_blobs = get_option('install_blobs').enabled() or
   (get_option('install_blobs').auto() and have_system)

And then if get_option('install_blobs').auto() you could install blobs 
only if the corresponding target is included in target_dirs:

if get_option('install_blobs').enabled() or 'i386-softmmu' in 
target_dirs or 'x86_64-softmmu' in target_dirs
   ...
endif

Paolo

>    blobs = have_system
> 
> because currently ./configure still displays:
> 
>                      Install blobs: YES
> 
> which is confusing.
> ---
>   meson.build | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 954152c90fe..273b8e6baa9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2254,7 +2254,9 @@
>   
>   subdir('scripts')
>   subdir('tools')
> -subdir('pc-bios')
> +if have_system
> +  subdir('pc-bios')
> +endif
>   subdir('docs')
>   subdir('tests')
>   if gtk.found()
>