Autotools: Move libmount from Libs.private to Requires.private
libmount depends on libblkid, so if we statically link a trivial executable to GIO, we need to pull in both libmount and libblkid. Linking with -lmount is not enough to achieve that, but recursing into mount.pc is.
This makes the Autotools build a bit more like the Meson build, which already puts mount in Requires.private.
I first noticed this as a difference between Meson and Autotools builds (Meson uses more Requires.private and less Libs.private in general), then wrote a test-case for static linking in Debian and discovered that we can't currently statically link libgio without providing a spurious -lblkid
or $(pkg-config --libs mount)
.
Strictly speaking zlib and libselinux should ideally also move to Requires.private, but the Autotools build currently detects them the old way instead of via pkg-config (as a fallback for zlib, or in all cases for selinux), so that would break systems on which they don't provide .pc files; and they don't actually have non-libc dependencies anyway (other than pcre, which GLib also depends on directly), so those aren't a practical problem.
Similarly, strictly speaking libffi should also move from GObject's Libs.private to its Requires.private, but it doesn't have non-libc dependencies, so this is a non-issue in practice.