On 5/15/25 10:27 PM, Pierrick Bouvier wrote:
Recently, common libraries per target base architecture were introduced in order
to compile those files only once. However, it was missing common dependencies
(which include external libraries), so it failed to build on some hosts.
This series fixes this, inspired by Thomas fix [1], and applied to other
libraries introduced very recently with [2].
As well, we do further cleanup by removing lib{system, user} source sets that
were recently introduced, by merging them in system/user libraries, thus
simplifying the work on single-binary.
This series was built on {linux, macos, windows} x {x86_64, aarch64} and
freebsd on x86_64. Fully tested on linux x {x86_64, aarch64}.
In addition to that, it was checked that compilation units compiled per binary
stayed the same, and that their size was identical.
[1] https://lore.kernel.org/qemu-devel/20250513115637.184940-1-th...@redhat.com/
[2]
https://gitlab.com/qemu-project/qemu/-/commit/b2bb3f3576e5dc99218607dde09e25ac0e55693c
Pierrick Bouvier (6):
meson: build target libraries with common dependencies
hw/arm: remove explicit dependencies listed
target/arm: remove explicit dependencies listed
meson: apply target config for picking files from lib{system, user}
meson: merge lib{system, user}_ss with {system, user}_ss.
meson: remove lib{system, user}_ss aliases
meson.build | 65 +++++++++++++++++++++++++++---------------
accel/tcg/meson.build | 8 +++---
gdbstub/meson.build | 4 +--
hw/arm/meson.build | 4 +--
hw/core/meson.build | 4 +--
plugins/meson.build | 4 +--
system/meson.build | 2 +-
target/arm/meson.build | 2 +-
tcg/meson.build | 4 +--
9 files changed, 58 insertions(+), 39 deletions(-)
v2 was posted here:
https://lore.kernel.org/qemu-devel/20250521223414.248276-1-pierrick.bouv...@linaro.org