On 03/06/2025 01.38, Pierrick Bouvier wrote:
Fixed commit introduced common dependencies for target libraries. Alas,
it wrongly reused the 'target' variable, which was previously set from
another loop.

Thus, some dependencies were missing depending on order of target list,
as found here [1].

The fix is to use the correct config_base_arch instead.
Kudos to Thomas Huth who had this right, before I reimplement it, and

s/Thomas Huth/Paolo Bonzini/ ... it was his patch indeed, I just was the one who sent it as a proper patch to the mailing list.

introduce this bug.

[1] 
https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e6...@linaro.org/

Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
Signed-off-by: Pierrick Bouvier <pierrick.bouv...@linaro.org>
---
  meson.build | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index 2df89006f8b..ad9cef99ed9 100644
--- a/meson.build
+++ b/meson.build
@@ -4142,13 +4142,12 @@ common_all = static_library('common',
  target_common_arch_libs = {}
  target_common_system_arch_libs = {}
  foreach target_base_arch, config_base_arch : config_base_arch_mak
-  config_target = config_target_mak[target]
    target_inc = [include_directories('target' / target_base_arch)]
    inc = [common_user_inc + target_inc]
- target_common = common_ss.apply(config_target, strict: false)
-  target_system = system_ss.apply(config_target, strict: false)
-  target_user = user_ss.apply(config_target, strict: false)
+  target_common = common_ss.apply(config_base_arch, strict: false)
+  target_system = system_ss.apply(config_base_arch, strict: false)
+  target_user = user_ss.apply(config_base_arch, strict: false)
    common_deps = []
    system_deps = []
    user_deps = []

With the patch description updated:
Reviewed-by: Thomas Huth <th...@redhat.com>


Reply via email to