* Re: [PATCH] meson: use config_base_arch for target libraries
2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
@ 2025-06-02 23:41 ` Pierrick Bouvier
2025-06-03 6:05 ` Thomas Huth
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Pierrick Bouvier @ 2025-06-02 23:41 UTC (permalink / raw)
To: qemu-devel
Cc: clg, nabihestefan, Paolo Bonzini, Marc-André Lureau,
Philippe Mathieu-Daudé, thuth, Daniel P. Berrangé
On 6/2/25 4:38 PM, 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
> introduce this bug.
>
> [1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/
>
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@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 = []
As arm targets can be impacted by the build bug fixed here, it would be
nice if this could be merged upstream quickly.
Thanks,
Pierrick
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] meson: use config_base_arch for target libraries
2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
2025-06-02 23:41 ` Pierrick Bouvier
@ 2025-06-03 6:05 ` Thomas Huth
2025-06-03 7:12 ` Cédric Le Goater
2025-06-03 14:51 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Thomas Huth @ 2025-06-03 6:05 UTC (permalink / raw)
To: Pierrick Bouvier, qemu-devel
Cc: clg, nabihestefan, Paolo Bonzini, Marc-André Lureau,
Philippe Mathieu-Daudé, Daniel P. Berrangé
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-47711e9e61de@linaro.org/
>
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@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 <thuth@redhat.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] meson: use config_base_arch for target libraries
2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
2025-06-02 23:41 ` Pierrick Bouvier
2025-06-03 6:05 ` Thomas Huth
@ 2025-06-03 7:12 ` Cédric Le Goater
2025-06-03 14:51 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Cédric Le Goater @ 2025-06-03 7:12 UTC (permalink / raw)
To: Pierrick Bouvier, qemu-devel
Cc: nabihestefan, Paolo Bonzini, Marc-André Lureau,
Philippe Mathieu-Daudé, thuth, Daniel P. Berrangé
On 6/3/25 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
> introduce this bug.
>
> [1] https://lore.kernel.org/qemu-devel/c54469ce-0385-4aea-b345-47711e9e61de@linaro.org/
>
> Fixes: 4fb54de823e9 (meson: build target libraries with common dependencies)
> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> 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 = []
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] meson: use config_base_arch for target libraries
2025-06-02 23:38 [PATCH] meson: use config_base_arch for target libraries Pierrick Bouvier
` (2 preceding siblings ...)
2025-06-03 7:12 ` Cédric Le Goater
@ 2025-06-03 14:51 ` Paolo Bonzini
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2025-06-03 14:51 UTC (permalink / raw)
To: Pierrick Bouvier
Cc: qemu-devel, clg, nabihestefan, Marc-André Lureau,
Philippe Mathieu-Daudé, thuth, Daniel P . Berrangé
Queued, thanks.
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread