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-thuth@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(-)
>
As well, openbsd build works with:
make vm-build-openbsd J=4 TARGET_LIST=aarch64-softmmu
(thanks for the command Thomas)