]> git.ipfire.org Git - thirdparty/systemd.git/commit
meson: drop libdl, threads, and librt dependencies
authorDaan De Meyer <daan@amutable.com>
Fri, 15 May 2026 09:54:53 +0000 (09:54 +0000)
committerDaan De Meyer <daan@amutable.com>
Mon, 18 May 2026 21:17:38 +0000 (21:17 +0000)
commita14adac42361d1ebaf6c7c2a8a680939f2d1cd64
tree330b81fa696a346a3786a5873ed22e43c1bba057
parent5a1644de343f91eed7ebc9e3b32dc6d66019a687
meson: drop libdl, threads, and librt dependencies

Our baseline glibc is 2.34, which merged libdl, libpthread (the
dependency('threads') target), and librt into libc. Empty .so/.a stubs
remain for backward compatibility with old binaries, but new builds
resolve dl_*, pthread_*, mq_*, timer_*, etc. directly from libc.
On musl the same libraries are likewise empty stubs.

Drop the libdl, threads, and librt entries from every meson.build, and
remove the now-stale 'Libs.private: -lrt -pthread' from libudev.pc.in
since both flags resolve to empty link-time stubs on glibc 2.34+ and
musl.

Verified with readelf -d that libsystemd.so, libudev.so, and systemd no
longer carry DT_NEEDED entries for libdl/libpthread/librt.
30 files changed:
meson.build
src/basic/meson.build
src/core/meson.build
src/coredump/meson.build
src/creds/meson.build
src/cryptenroll/meson.build
src/home/meson.build
src/import/meson.build
src/journal-remote/meson.build
src/journal/meson.build
src/libsystemd/meson.build
src/libudev/libudev.pc.in
src/locale/meson.build
src/login/meson.build
src/machine/meson.build
src/network/meson.build
src/nsresourced/meson.build
src/portable/meson.build
src/pstore/meson.build
src/repart/meson.build
src/resolve/meson.build
src/shared/meson.build
src/socket-activate/meson.build
src/socket-proxy/meson.build
src/systemctl/meson.build
src/sysupdate/meson.build
src/test/meson.build
src/timesync/meson.build
src/udev/meson.build
src/userdb/meson.build