aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierrick Bouvier <pierrick.bouvier@linaro.org>2025-05-21 15:34:14 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2025-05-26 17:31:07 +0200
commitddc25eb40444f4bbcfea276d22beee6494c3f18e (patch)
treea33979e0b2efda086c6c2531d72494b5abc6debe
parentd33717d7fca6a599aa991f771e3ea34b15978cee (diff)
downloadqemu-ddc25eb40444f4bbcfea276d22beee6494c3f18e.zip
qemu-ddc25eb40444f4bbcfea276d22beee6494c3f18e.tar.gz
qemu-ddc25eb40444f4bbcfea276d22beee6494c3f18e.tar.bz2
meson: merge hw_common_arch in target_common_system_arch
No need to keep two different libraries, as both are compiled with exact same flags. As well, rename target common libraries to common_{arch} and system_{arch}, to follow what exists for common and system libraries. Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Link: https://lore.kernel.org/r/20250521223414.248276-8-pierrick.bouvier@linaro.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--meson.build33
1 files changed, 12 insertions, 21 deletions
diff --git a/meson.build b/meson.build
index 1c9f1aa..f614d11 100644
--- a/meson.build
+++ b/meson.build
@@ -4101,7 +4101,6 @@ common_all = static_library('common',
dependencies: common_ss.all_dependencies())
# construct common libraries per base architecture
-hw_common_arch_libs = {}
target_common_arch_libs = {}
target_common_system_arch_libs = {}
foreach target_base_arch, config_base_arch : config_base_arch_mak
@@ -4130,22 +4129,10 @@ foreach target_base_arch, config_base_arch : config_base_arch_mak
target_c_args = ['-DCPU_DEFS_H']
target_system_c_args = target_c_args + ['-DCOMPILING_SYSTEM_VS_USER', '-DCONFIG_SOFTMMU']
- if target_base_arch in hw_common_arch
- src = hw_common_arch[target_base_arch]
- lib = static_library(
- 'hw_' + target_base_arch,
- build_by_default: false,
- sources: src.all_sources() + genh,
- include_directories: inc,
- c_args: target_system_c_args,
- dependencies: src.all_dependencies() + common_deps + system_deps)
- hw_common_arch_libs += {target_base_arch: lib}
- endif
-
if target_base_arch in target_common_arch
src = target_common_arch[target_base_arch]
lib = static_library(
- 'target_' + target_base_arch,
+ 'common_' + target_base_arch,
build_by_default: false,
sources: src.all_sources() + genh,
include_directories: inc,
@@ -4155,10 +4142,20 @@ foreach target_base_arch, config_base_arch : config_base_arch_mak
target_common_arch_libs += {target_base_arch: lib}
endif
+ # merge hw_common_arch in target_common_system_arch
+ if target_base_arch in hw_common_arch
+ hw_src = hw_common_arch[target_base_arch]
+ if target_base_arch in target_common_system_arch
+ target_common_system_arch[target_base_arch].add_all(hw_src)
+ else
+ target_common_system_arch += {target_base_arch: hw_src}
+ endif
+ endif
+
if target_base_arch in target_common_system_arch
src = target_common_system_arch[target_base_arch]
lib = static_library(
- 'target_system_' + target_base_arch,
+ 'system_' + target_base_arch,
build_by_default: false,
sources: src.all_sources() + genh,
include_directories: inc,
@@ -4351,12 +4348,6 @@ foreach target : target_dirs
objects += libuser.extract_objects(src.sources())
arch_deps += src.dependencies()
endif
- if target_type == 'system' and target_base_arch in hw_common_arch_libs
- src = hw_common_arch[target_base_arch].apply(config_target, strict: false)
- lib = hw_common_arch_libs[target_base_arch]
- objects += lib.extract_objects(src.sources())
- arch_deps += src.dependencies()
- endif
if target_type == 'system' and target_base_arch in target_common_system_arch_libs
src = target_common_system_arch[target_base_arch].apply(config_target, strict: false)
lib = target_common_system_arch_libs[target_base_arch]