On 24/5/24 10:00, Akihiko Odaki wrote:
We used to request declare_dependency() to link_whole static libraries. If a static library is a thin archive, GNU ld needs to open all object files referenced by the archieve, and sometimes reaches to the open
"archive"
file limit. Another problem with link_whole is that it does not propagate dependencies. In particular, gnutls, a dependency of crypto, is not propagated to its users, and we currently workaround the issue by declaring gnutls as a dependency for each crypto user. Instead of using link_whole, extract objects included in static libraries and pass them to declare_dependency(). This requires Meson 1.1.0 or later. Signed-off-by: Akihiko Odaki <[email protected]> --- docs/devel/build-system.rst | 2 +- meson.build | 27 ++++++++++++++------------- gdbstub/meson.build | 4 ++-- subprojects/libvhost-user/meson.build | 2 +- tests/qtest/libqos/meson.build | 2 +- 5 files changed, 19 insertions(+), 18 deletions(-)
