qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/5] meson: Pass objects to declare_dependency()
@ 2024-05-27 10:49 Paolo Bonzini
  2024-05-27 10:49 ` [RFC PATCH v2 1/5] meson: move shared_module() calls where modules are already walked Paolo Bonzini
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Paolo Bonzini @ 2024-05-27 10:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: akihiko.odaki

This is a working version of Akihiko's changes to declare internal
dependencies as objects instead of static libraries.  This is a safer
way to drop the ".fa" library suffix, as it drops usage of the
pseudo static libraries altogether.

Static libraries trigger an issue in GNU ld, where GNU ld keeps all
object files referenced by thin archives open.  This can cause it to
exceed the open file limit.  Another problem with link_whole is the
suboptimal handling of nested dependencies, which is described in
https://github.com/mesonbuild/meson/pull/8151 and
https://github.com/mesonbuild/meson/pull/11198.

I'm keeping this as RFC because patch 2 ("meson: move block.syms
dependency out of libblock") is a bit ugly.  I think it's _less_
ugly than what patch 4 reverts, but I am open to comments.

As Akihiko noted, fork-fuzz is gone so it is possible to just remove
the .fa suffixes.  This series can be evaluated independently from
that.

Paolo

Akihiko Odaki (2):
  meson: Pass objects and dependencies to declare_dependency()
  Revert "meson: Propagate gnutls dependency"

Paolo Bonzini (3):
  meson: move shared_module() calls where modules are already walked
  meson: move block.syms dependency out of libblock
  meson: Drop the .fa library suffix

 docs/devel/build-system.rst         |   8 +--
 meson.build                         | 100 ++++++++++++++--------------
 stubs/blk-exp-close-all.c           |   2 +-
 .gitlab-ci.d/buildtest-template.yml |   2 -
 .gitlab-ci.d/buildtest.yml          |   2 -
 block/meson.build                   |   2 +-
 gdbstub/meson.build                 |   6 +-
 io/meson.build                      |   2 +-
 pythondeps.toml                     |   2 +-
 storage-daemon/meson.build          |   3 +-
 tcg/meson.build                     |   8 +--
 tests/Makefile.include              |   2 +-
 tests/qtest/libqos/meson.build      |   3 +-
 ui/meson.build                      |   2 +-
 14 files changed, 66 insertions(+), 78 deletions(-)

-- 
2.45.1



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

end of thread, other threads:[~2024-06-06 12:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-27 10:49 [RFC PATCH v2 0/5] meson: Pass objects to declare_dependency() Paolo Bonzini
2024-05-27 10:49 ` [RFC PATCH v2 1/5] meson: move shared_module() calls where modules are already walked Paolo Bonzini
2024-06-02  6:06   ` Akihiko Odaki
2024-06-06 12:51   ` Philippe Mathieu-Daudé
2024-05-27 10:49 ` [RFC PATCH v2 2/5] meson: move block.syms dependency out of libblock Paolo Bonzini
2024-06-02  6:10   ` Akihiko Odaki
2024-05-27 10:49 ` [RFC PATCH v2 3/5] meson: Pass objects and dependencies to declare_dependency() Paolo Bonzini
2024-06-06 12:53   ` Philippe Mathieu-Daudé
2024-05-27 10:49 ` [RFC PATCH v2 4/5] Revert "meson: Propagate gnutls dependency" Paolo Bonzini
2024-06-06 12:54   ` Philippe Mathieu-Daudé
2024-05-27 10:49 ` [RFC PATCH v2 5/5] meson: Drop the .fa library suffix 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).