[PATCH 01/13] meson: Display libfdt as disabled when system emulation is disabled

Philippe Mathieu-Daudé via posted 13 patches 4 years ago
[PATCH 01/13] meson: Display libfdt as disabled when system emulation is disabled
Posted by Philippe Mathieu-Daudé via 4 years ago
When configuring QEMU with --disable-system, meson keeps showing
libfdt as "auto". Mark it as disabled instead.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 571af34b7d..3c274386bb 100644
--- a/meson.build
+++ b/meson.build
@@ -2271,8 +2271,8 @@ if get_option('cfi') and slirp_opt == 'system'
 endif
 
 fdt = not_found
-fdt_opt = get_option('fdt')
 if have_system
+  fdt_opt = get_option('fdt')
   if fdt_opt in ['enabled', 'auto', 'system']
     have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
     fdt = cc.find_library('fdt', kwargs: static_kwargs,
@@ -2315,6 +2315,8 @@ if have_system
     fdt = declare_dependency(link_with: libfdt,
                              include_directories: fdt_inc)
   endif
+else
+  fdt_opt = 'disabled'
 endif
 if not fdt.found() and fdt_required.length() > 0
   error('fdt not available but required by targets ' + ', '.join(fdt_required))
-- 
2.34.1


Re: [PATCH 01/13] meson: Display libfdt as disabled when system emulation is disabled
Posted by Paolo Bonzini 4 years ago
On 2/8/22 16:22, Philippe Mathieu-Daudé wrote:
> When configuring QEMU with --disable-system, meson keeps showing
> libfdt as "auto". Mark it as disabled instead.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   meson.build | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/meson.build b/meson.build
> index 571af34b7d..3c274386bb 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2271,8 +2271,8 @@ if get_option('cfi') and slirp_opt == 'system'
>   endif
>   
>   fdt = not_found
> -fdt_opt = get_option('fdt')
>   if have_system
> +  fdt_opt = get_option('fdt')
>     if fdt_opt in ['enabled', 'auto', 'system']
>       have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
>       fdt = cc.find_library('fdt', kwargs: static_kwargs,
> @@ -2315,6 +2315,8 @@ if have_system
>       fdt = declare_dependency(link_with: libfdt,
>                                include_directories: fdt_inc)
>     endif
> +else
> +  fdt_opt = 'disabled'
>   endif
>   if not fdt.found() and fdt_required.length() > 0
>     error('fdt not available but required by targets ' + ', '.join(fdt_required))

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Another possibility might be (for all submodules)

-summary_info += {'fdt support':       fdt_opt == 'disabled' ? false : 
fdt_opt}
+summary_info += {'fdt support':       fdt_opt == 'internal' ? fdt_opt : 
fdt}

Paolo