qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] single-binary: build target common libraries with dependencies
@ 2025-05-21 22:34 Pierrick Bouvier
  2025-05-21 22:34 ` [PATCH v2 1/7] meson: build target libraries with common dependencies Pierrick Bouvier
                   ` (8 more replies)
  0 siblings, 9 replies; 14+ messages in thread
From: Pierrick Bouvier @ 2025-05-21 22:34 UTC (permalink / raw)
  To: qemu-devel
  Cc: Pierrick Bouvier, Philippe Mathieu-Daudé, Richard Henderson,
	Peter Maydell, Paolo Bonzini, thuth, Alex Bennée,
	Daniel P. Berrangé

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

v2
--

- Additional patch to merge hw_common_arch_libs in
  target_common_system_arch libs (Paolo)
- Better commit description for merging lib{system, user}_ss with
  {system, user}_ss (Paolo)

Pierrick Bouvier (7):
  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: merge hw_common_arch in target_common_system_arch

 meson.build            | 124 +++++++++++++++++++++--------------------
 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, 80 insertions(+), 76 deletions(-)

-- 
2.47.2



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-05-27 17:16 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-21 22:34 [PATCH v2 0/7] single-binary: build target common libraries with dependencies Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 1/7] meson: build target libraries with common dependencies Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 2/7] hw/arm: remove explicit dependencies listed Pierrick Bouvier
2025-05-22  4:52   ` Thomas Huth
2025-05-22 18:41     ` Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 3/7] target/arm: " Pierrick Bouvier
2025-05-22  4:53   ` Thomas Huth
2025-05-21 22:34 ` [PATCH v2 4/7] meson: apply target config for picking files from lib{system, user} Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 5/7] meson: merge lib{system, user}_ss with {system, user}_ss Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 6/7] meson: remove lib{system, user}_ss aliases Pierrick Bouvier
2025-05-21 22:34 ` [PATCH v2 7/7] meson: merge hw_common_arch in target_common_system_arch Pierrick Bouvier
2025-05-26  9:53 ` [PATCH v2 0/7] single-binary: build target common libraries with dependencies Philippe Mathieu-Daudé
2025-05-27 17:15   ` Pierrick Bouvier
2025-05-26 16:04 ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).