[PATCH] meson: Do not try to build module for empty per-target hw/ directory

Philippe Mathieu-Daudé posted 1 patch 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260116131817.38009-1-philmd@linaro.org
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
meson.build | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
[PATCH] meson: Do not try to build module for empty per-target hw/ directory
Posted by Philippe Mathieu-Daudé 3 weeks ago
In commit 83d5db95d38 ("meson: Allow system binaries to not
have target-specific units") we allowed targets with empty
target_system_arch[] source set, but missed hw_arch[] could
also be empty when building modules.

Skip such case, otherwise due to commit a1ced487549
("hw/microblaze: Build files once"), building with
--enable-modules triggers:

  ../meson.build:4034:14: ERROR: Key microblaze is not in the dictionary.

Fixes: a1ced487549 ("hw/microblaze: Build files once")
Reported-by: Frederic Bezies <fredbezies@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3272
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 meson.build | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index 2339aa4db2a..5bb8d0b3ebc 100644
--- a/meson.build
+++ b/meson.build
@@ -4029,6 +4029,11 @@ if enable_modules
   foreach target : target_dirs
     if target.endswith('-softmmu')
       config_target = config_target_mak[target]
+      arch = config_target['TARGET_NAME'] == 'sparc64' ? 'sparc64' : config_target['TARGET_BASE_ARCH']
+      if not hw_arch.has_key(arch)
+        continue
+      endif
+
       config_devices_mak = target + '-config-devices.mak'
       modinfo_src = custom_target('modinfo-' + target + '.c',
                                   output: 'modinfo-' + target + '.c',
@@ -4038,8 +4043,6 @@ if enable_modules
 
       modinfo_lib = static_library('modinfo-' + target + '.c', modinfo_src)
       modinfo_dep = declare_dependency(link_with: modinfo_lib)
-
-      arch = config_target['TARGET_NAME'] == 'sparc64' ? 'sparc64' : config_target['TARGET_BASE_ARCH']
       hw_arch[arch].add(modinfo_dep)
     endif
   endforeach
-- 
2.52.0


Re: [PATCH] meson: Do not try to build module for empty per-target hw/ directory
Posted by Philippe Mathieu-Daudé 2 weeks, 3 days ago
On 16/1/26 14:18, Philippe Mathieu-Daudé wrote:
> In commit 83d5db95d38 ("meson: Allow system binaries to not
> have target-specific units") we allowed targets with empty
> target_system_arch[] source set, but missed hw_arch[] could
> also be empty when building modules.
> 
> Skip such case, otherwise due to commit a1ced487549
> ("hw/microblaze: Build files once"), building with
> --enable-modules triggers:
> 
>    ../meson.build:4034:14: ERROR: Key microblaze is not in the dictionary.
> 
> Fixes: a1ced487549 ("hw/microblaze: Build files once")
> Reported-by: Frederic Bezies <fredbezies@gmail.com>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3272
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   meson.build | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)

Queued.

Re: [PATCH] meson: Do not try to build module for empty per-target hw/ directory
Posted by Pierrick Bouvier 3 weeks ago
On 1/16/26 5:18 AM, Philippe Mathieu-Daudé wrote:
> In commit 83d5db95d38 ("meson: Allow system binaries to not
> have target-specific units") we allowed targets with empty
> target_system_arch[] source set, but missed hw_arch[] could
> also be empty when building modules.
> 
> Skip such case, otherwise due to commit a1ced487549
> ("hw/microblaze: Build files once"), building with
> --enable-modules triggers:
> 
>    ../meson.build:4034:14: ERROR: Key microblaze is not in the dictionary.
> 
> Fixes: a1ced487549 ("hw/microblaze: Build files once")
> Reported-by: Frederic Bezies <fredbezies@gmail.com>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3272
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   meson.build | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
> 

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>