NetworkManager/src
Thomas Haller bdabc9e38c
build/meson: cleanup build for c-util and nettools helper libraries
We have a number of static helper libraries. When a user is using such a
library, they need to set the include search paths (-I) and link with
the static library at the right place.

The first part, the include search path, is now trivial. We no longer
add the individual search paths but everybody uses "-I. -Isrc/".

The second part means that when we build a shared library or an
executable that uses symbols from the static library, we need to link
it. But only then, and not earlier so that not multiple intermediate
build products (static libraries too) contain the same code. Note that
for libnm-device-plugin-*.so and other core plugins it's even that
those shared modules should not themselves link with the static
helpers. Instead, the need to use the symbols from NetworkManager.

Easy enough. Previously, we would sometimes define dependencies in
meson. But as it's really simple, I think that those dependencies
obfuscate more than help. Instead drop them, and only explicitly link
where we need it. The exception is libNetworkManagerTest_dep, which
is still a dependency. Maybe that dependency is fine, as it is much
later in the process. Or maybe that will also be replaced in the future.
2021-02-28 10:41:24 +01:00
..
c-list build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-rbtree build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-siphash build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
c-stdaux build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
contrib shared: move "nm-compat.[hc]" to "src/contrib/" 2021-02-24 12:49:01 +01:00
core build/meson: cleanup build for c-util and nettools helper libraries 2021-02-28 10:41:24 +01:00
libnm-base build: remove "shared/" from include search path 2021-02-24 12:49:06 +01:00
libnm-client-aux-extern build: remove "shared/" from include search path 2021-02-24 12:49:06 +01:00
libnm-client-impl build/introspection: cleanup dependencies for libnmdbus in meson 2021-02-24 12:50:25 +01:00
libnm-client-public build: move "libnm/" to "src/" and split it 2021-02-24 12:48:37 +01:00
libnm-client-test libnm/tests: add static helper library "src/libnm-client-test/" 2021-02-24 12:48:42 +01:00
libnm-core-aux-extern build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
libnm-core-aux-intern build: remove "shared/" from include search path 2021-02-24 12:49:06 +01:00
libnm-core-impl shared: move "nm-test-utils.h" to "src/libnm-glib-aux/" 2021-02-24 12:48:33 +01:00
libnm-core-intern build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
libnm-core-public build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
libnm-glib-aux build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-log-core build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-log-null build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-platform build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-std-aux build: remove "shared/" from include search path 2021-02-24 12:49:06 +01:00
libnm-systemd-shared build: remove shared/ directory 2021-02-24 12:49:13 +01:00
libnm-udev-aux build: remove shared/ directory 2021-02-24 12:49:13 +01:00
n-acd build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
n-dhcp4 build: move c-util/nettools library from "shared/" to "src/" 2021-02-24 12:48:28 +01:00
meson.build build/meson: cleanup build for c-util and nettools helper libraries 2021-02-28 10:41:24 +01:00