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(-)


Reply via email to