about summary refs log tree commit diff
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am789
1 files changed, 506 insertions, 283 deletions
diff --git a/Makefile.am b/Makefile.am
index e1b442e9..b180466a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -105,7 +105,7 @@ endif
 
 endif
 
-dflt_cppflags = -std=gnu99
+dflt_cppflags = -std=gnu11
 
 ###############################################################################
 
@@ -206,6 +206,181 @@ DISTCLEANFILES += $(polkit_policy_DATA)
 
 ###############################################################################
 
+noinst_LTLIBRARIES += shared/libcsiphash.la
+
+shared_libcsiphash_la_CPPFLAGS = \
+	$(CODE_COVERAGE_CFLAGS) \
+	$(SANITIZER_LIB_CFLAGS) \
+	$(NULL)
+
+shared_libcsiphash_la_SOURCES = \
+	shared/c-siphash/src/c-siphash.c \
+	shared/c-siphash/src/c-siphash.h \
+	$(NULL)
+
+###############################################################################
+
+noinst_LTLIBRARIES += shared/libcrbtree.la
+
+shared_libcrbtree_la_CFLAGS = \
+	$(AM_CFLAGS) \
+	-std=c11 \
+	$(NULL)
+
+shared_libcrbtree_la_CPPFLAGS = \
+	$(CODE_COVERAGE_CFLAGS) \
+	$(SANITIZER_LIB_CFLAGS) \
+	$(NULL)
+
+shared_libcrbtree_la_SOURCES = \
+	shared/c-rbtree/src/c-rbtree.c \
+	shared/c-rbtree/src/c-rbtree.h \
+	shared/c-rbtree/src/c-rbtree-private.h \
+	$(NULL)
+
+###############################################################################
+
+noinst_LTLIBRARIES += shared/libnacd.la
+
+shared_libnacd_la_CFLAGS = \
+	$(AM_CFLAGS) \
+	-std=c11 \
+	-Wno-pointer-arith \
+	-Wno-vla \
+	$(NULL)
+
+shared_libnacd_la_CPPFLAGS = \
+	-D_GNU_SOURCE \
+	-DSO_ATTACH_BPF=50 \
+	$(CODE_COVERAGE_CFLAGS) \
+	$(SANITIZER_LIB_CFLAGS) \
+	-I$(srcdir)/shared/c-list/src \
+	-I$(srcdir)/shared/c-siphash/src \
+	-I$(srcdir)/shared/c-rbtree/src \
+	$(NULL)
+
+shared_libnacd_la_SOURCES = \
+	shared/n-acd/src/n-acd.c \
+	shared/n-acd/src/n-acd.h \
+	shared/n-acd/src/n-acd-private.h \
+	shared/n-acd/src/n-acd-probe.c \
+	shared/n-acd/src/util/timer.c \
+	shared/n-acd/src/util/timer.h \
+	$(NULL)
+
+if WITH_EBPF
+shared_libnacd_la_SOURCES += shared/n-acd/src/n-acd-bpf.c
+else
+shared_libnacd_la_SOURCES += shared/n-acd/src/n-acd-bpf-fallback.c
+endif
+
+shared_libnacd_la_LIBADD = \
+	shared/libcrbtree.la \
+	$(NULL)
+
+###############################################################################
+
+shared_nm_utils_libnm_utils_cppflags = \
+	$(dflt_cppflags) \
+	-I$(srcdir)/shared \
+	$(CODE_COVERAGE_CFLAGS) \
+	$(SANITIZER_LIB_CFLAGS) \
+	$(GLIB_CFLAGS) \
+	-DG_LOG_DOMAIN=\""libnm"\" \
+	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
+	$(NULL)
+
+noinst_LTLIBRARIES += shared/nm-utils/libnm-utils-base.la
+
+shared_nm_utils_libnm_utils_base_la_CPPFLAGS = \
+	$(shared_nm_utils_libnm_utils_cppflags) \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_base_la_SOURCES = \
+	shared/c-list/src/c-list.h \
+	shared/nm-utils/c-list-util.c \
+	shared/nm-utils/c-list-util.h \
+	shared/nm-utils/nm-c-list.h \
+	shared/nm-utils/nm-dedup-multi.c \
+	shared/nm-utils/nm-dedup-multi.h \
+	shared/nm-utils/nm-enum-utils.c \
+	shared/nm-utils/nm-enum-utils.h \
+	shared/nm-utils/nm-errno.c \
+	shared/nm-utils/nm-errno.h \
+	shared/nm-utils/nm-glib.h \
+	shared/nm-utils/nm-hash-utils.c \
+	shared/nm-utils/nm-hash-utils.h \
+	shared/nm-utils/nm-io-utils.c \
+	shared/nm-utils/nm-io-utils.h \
+	shared/nm-utils/nm-logging-fwd.h \
+	shared/nm-utils/nm-macros-internal.h \
+	shared/nm-utils/nm-obj.h \
+	shared/nm-utils/nm-random-utils.c \
+	shared/nm-utils/nm-random-utils.h \
+	shared/nm-utils/nm-secret-utils.c \
+	shared/nm-utils/nm-secret-utils.h \
+	shared/nm-utils/nm-shared-utils.c \
+	shared/nm-utils/nm-shared-utils.h \
+	shared/nm-utils/nm-time-utils.c \
+	shared/nm-utils/nm-time-utils.h \
+	shared/nm-utils/unaligned.h \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_base_la_LDFLAGS = \
+	$(CODE_COVERAGE_LDFLAGS) \
+	$(SANITIZER_LIB_LDFLAGS) \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_base_la_LIBADD = \
+	shared/libcsiphash.la \
+	$(GLIB_LIBS) \
+	$(NULL)
+
+###############################################################################
+
+noinst_LTLIBRARIES += shared/nm-utils/libnm-utils-udev.la
+
+shared_nm_utils_libnm_utils_udev_la_CPPFLAGS = \
+	$(shared_nm_utils_libnm_utils_cppflags) \
+	$(LIBUDEV_CFLAGS) \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_udev_la_SOURCES = \
+	shared/nm-utils/nm-udev-utils.c \
+	shared/nm-utils/nm-udev-utils.h \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_udev_la_LDFLAGS = \
+	$(CODE_COVERAGE_LDFLAGS) \
+	$(SANITIZER_LIB_LDFLAGS) \
+	$(NULL)
+
+shared_nm_utils_libnm_utils_udev_la_LIBADD = \
+	$(GLIB_LIBS) \
+	$(LIBUDEV_LIBS) \
+	$(NULL)
+
+###############################################################################
+
+check_programs += shared/nm-utils/tests/test-shared-general
+
+shared_nm_utils_tests_test_shared_general_CPPFLAGS = \
+	$(dflt_cppflags) \
+	-I$(srcdir)/shared \
+	-DNETWORKMANAGER_COMPILATION_TEST \
+	-DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_PROG)' \
+	$(CODE_COVERAGE_CFLAGS) \
+	$(GLIB_CFLAGS) \
+	$(SANITIZER_LIB_CFLAGS) \
+	$(NULL)
+
+shared_nm_utils_tests_test_shared_general_LDADD = \
+	shared/nm-utils/libnm-utils-base.la \
+	$(GLIB_LIBS) \
+	$(NULL)
+
+###############################################################################
+
 noinst_LTLIBRARIES += \
 	introspection/libnmdbus.la
 
@@ -214,30 +389,32 @@ introspection_libnmdbus_la_CPPFLAGS = $(GLIB_CFLAGS)
 introspection_sources = \
 	introspection/org.freedesktop.NetworkManager.AccessPoint.c \
 	introspection/org.freedesktop.NetworkManager.AccessPoint.h \
-	introspection/org.freedesktop.NetworkManager.Connection.Active.c \
-	introspection/org.freedesktop.NetworkManager.Connection.Active.h \
 	introspection/org.freedesktop.NetworkManager.AgentManager.c \
 	introspection/org.freedesktop.NetworkManager.AgentManager.h \
 	introspection/org.freedesktop.NetworkManager.Checkpoint.c \
 	introspection/org.freedesktop.NetworkManager.Checkpoint.h \
+	introspection/org.freedesktop.NetworkManager.Connection.Active.c \
+	introspection/org.freedesktop.NetworkManager.Connection.Active.h \
+	introspection/org.freedesktop.NetworkManager.DHCP4Config.c \
+	introspection/org.freedesktop.NetworkManager.DHCP4Config.h \
+	introspection/org.freedesktop.NetworkManager.DHCP6Config.c \
+	introspection/org.freedesktop.NetworkManager.DHCP6Config.h \
 	introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
 	introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
+	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
+	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
 	introspection/org.freedesktop.NetworkManager.Device.Bond.c \
 	introspection/org.freedesktop.NetworkManager.Device.Bond.h \
 	introspection/org.freedesktop.NetworkManager.Device.Bridge.c \
 	introspection/org.freedesktop.NetworkManager.Device.Bridge.h \
-	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
-	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
 	introspection/org.freedesktop.NetworkManager.Device.Dummy.c \
 	introspection/org.freedesktop.NetworkManager.Device.Dummy.h \
-	introspection/org.freedesktop.NetworkManager.Device.Wired.c \
-	introspection/org.freedesktop.NetworkManager.Device.Wired.h \
 	introspection/org.freedesktop.NetworkManager.Device.Generic.c \
 	introspection/org.freedesktop.NetworkManager.Device.Generic.h \
-	introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
-	introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
 	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.c \
 	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.h \
+	introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
+	introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
 	introspection/org.freedesktop.NetworkManager.Device.Lowpan.c \
 	introspection/org.freedesktop.NetworkManager.Device.Lowpan.h \
 	introspection/org.freedesktop.NetworkManager.Device.Macsec.c \
@@ -248,12 +425,12 @@ introspection_sources = \
 	introspection/org.freedesktop.NetworkManager.Device.Modem.h \
 	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.c \
 	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.h \
+	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
+	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
 	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.c \
 	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.h \
 	introspection/org.freedesktop.NetworkManager.Device.OvsPort.c \
 	introspection/org.freedesktop.NetworkManager.Device.OvsPort.h \
-	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
-	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
 	introspection/org.freedesktop.NetworkManager.Device.Ppp.c \
 	introspection/org.freedesktop.NetworkManager.Device.Ppp.h \
 	introspection/org.freedesktop.NetworkManager.Device.Statistics.c \
@@ -268,28 +445,28 @@ introspection_sources = \
 	introspection/org.freedesktop.NetworkManager.Device.Vlan.h \
 	introspection/org.freedesktop.NetworkManager.Device.Vxlan.c \
 	introspection/org.freedesktop.NetworkManager.Device.Vxlan.h \
+	introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
+	introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
+	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.c \
+	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.h \
 	introspection/org.freedesktop.NetworkManager.Device.WireGuard.c \
 	introspection/org.freedesktop.NetworkManager.Device.WireGuard.h \
+	introspection/org.freedesktop.NetworkManager.Device.Wired.c \
+	introspection/org.freedesktop.NetworkManager.Device.Wired.h \
 	introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
 	introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
-	introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
-	introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
 	introspection/org.freedesktop.NetworkManager.Device.Wpan.c \
 	introspection/org.freedesktop.NetworkManager.Device.Wpan.h \
 	introspection/org.freedesktop.NetworkManager.Device.c \
 	introspection/org.freedesktop.NetworkManager.Device.h \
-	introspection/org.freedesktop.NetworkManager.DHCP4Config.c \
-	introspection/org.freedesktop.NetworkManager.DHCP4Config.h \
-	introspection/org.freedesktop.NetworkManager.DHCP6Config.c \
-	introspection/org.freedesktop.NetworkManager.DHCP6Config.h \
 	introspection/org.freedesktop.NetworkManager.DnsManager.c \
 	introspection/org.freedesktop.NetworkManager.DnsManager.h \
 	introspection/org.freedesktop.NetworkManager.IP4Config.c \
 	introspection/org.freedesktop.NetworkManager.IP4Config.h \
 	introspection/org.freedesktop.NetworkManager.IP6Config.c \
 	introspection/org.freedesktop.NetworkManager.IP6Config.h \
-	introspection/org.freedesktop.NetworkManager.c \
-	introspection/org.freedesktop.NetworkManager.h \
+	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.c \
+	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.h \
 	introspection/org.freedesktop.NetworkManager.PPP.c \
 	introspection/org.freedesktop.NetworkManager.PPP.h \
 	introspection/org.freedesktop.NetworkManager.SecretAgent.c \
@@ -301,56 +478,62 @@ introspection_sources = \
 	introspection/org.freedesktop.NetworkManager.VPN.Connection.c \
 	introspection/org.freedesktop.NetworkManager.VPN.Connection.h \
 	introspection/org.freedesktop.NetworkManager.VPN.Plugin.c \
-	introspection/org.freedesktop.NetworkManager.VPN.Plugin.h
+	introspection/org.freedesktop.NetworkManager.VPN.Plugin.h \
+	introspection/org.freedesktop.NetworkManager.c \
+	introspection/org.freedesktop.NetworkManager.h \
+	$(NULL)
 
 nodist_introspection_libnmdbus_la_SOURCES = $(introspection_sources)
 
 DBUS_INTERFACE_DOCS = \
 	docs/api/dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Lowpan.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macsec.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wpan.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsInterface.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsPort.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.WifiP2P.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.Device.WireGuard.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.Wpan.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
 	docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml \
-	docs/api/dbus-org.freedesktop.NetworkManager.Device.Lowpan.xml
+	docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.WifiP2PPeer.xml \
+	docs/api/dbus-org.freedesktop.NetworkManager.xml \
+	$(NULL)
 
 introspection/%.c: introspection/%.xml
 	@$(MKDIR_P) introspection/
@@ -371,26 +554,27 @@ dbusinterfacesdir = $(datadir)/dbus-1/interfaces
 
 dbusinterfaces_DATA = \
 	introspection/org.freedesktop.NetworkManager.AccessPoint.xml \
-	introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
 	introspection/org.freedesktop.NetworkManager.AgentManager.xml \
 	introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
+	introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
+	introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
+	introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
+	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
-	introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Dummy.xml \
-	introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
-	introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
 	introspection/org.freedesktop.NetworkManager.Device.IPTunnel.xml \
+	introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Lowpan.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Macsec.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Macvlan.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Modem.xml \
 	introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
+	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
 	introspection/org.freedesktop.NetworkManager.Device.OvsInterface.xml \
 	introspection/org.freedesktop.NetworkManager.Device.OvsPort.xml \
-	introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Ppp.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Statistics.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Team.xml \
@@ -398,24 +582,26 @@ dbusinterfaces_DATA = \
 	introspection/org.freedesktop.NetworkManager.Device.Veth.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Vlan.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Vxlan.xml \
+	introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
+	introspection/org.freedesktop.NetworkManager.Device.WifiP2P.xml \
 	introspection/org.freedesktop.NetworkManager.Device.WireGuard.xml \
+	introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
-	introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
 	introspection/org.freedesktop.NetworkManager.Device.Wpan.xml \
 	introspection/org.freedesktop.NetworkManager.Device.xml \
-	introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
-	introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
 	introspection/org.freedesktop.NetworkManager.DnsManager.xml \
 	introspection/org.freedesktop.NetworkManager.IP4Config.xml \
 	introspection/org.freedesktop.NetworkManager.IP6Config.xml \
-	introspection/org.freedesktop.NetworkManager.xml \
 	introspection/org.freedesktop.NetworkManager.PPP.xml \
 	introspection/org.freedesktop.NetworkManager.SecretAgent.xml \
 	introspection/org.freedesktop.NetworkManager.Settings.Connection.xml \
 	introspection/org.freedesktop.NetworkManager.Settings.xml \
 	introspection/org.freedesktop.NetworkManager.VPN.Connection.xml \
 	introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml \
-	introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml
+	introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml \
+	introspection/org.freedesktop.NetworkManager.WifiP2PPeer.xml \
+	introspection/org.freedesktop.NetworkManager.xml \
+	$(NULL)
 
 CLEANFILES += $(introspection_sources)
 CLEANFILES += $(DBUS_INTERFACE_DOCS)
@@ -481,8 +667,10 @@ libnm_core_lib_h_pub_real = \
 	libnm-core/nm-setting-vlan.h \
 	libnm-core/nm-setting-vpn.h \
 	libnm-core/nm-setting-vxlan.h \
+	libnm-core/nm-setting-wifi-p2p.h \
 	libnm-core/nm-setting-wimax.h \
 	libnm-core/nm-setting-wired.h \
+	libnm-core/nm-setting-wireguard.h \
 	libnm-core/nm-setting-wireless-security.h \
 	libnm-core/nm-setting-wireless.h \
 	libnm-core/nm-setting-wpan.h \
@@ -496,15 +684,6 @@ libnm_core_lib_h_pub_real = \
 libnm_core_lib_h_pub_mkenums = \
 	libnm-core/nm-core-enum-types.h
 libnm_core_lib_h_priv = \
-	shared/nm-utils/c-list-util.h \
-	shared/nm-utils/nm-dedup-multi.h \
-	shared/nm-utils/nm-enum-utils.h \
-	shared/nm-utils/nm-hash-utils.h \
-	shared/nm-utils/nm-io-utils.h \
-	shared/nm-utils/nm-secret-utils.h \
-	shared/nm-utils/nm-shared-utils.h \
-	shared/nm-utils/nm-random-utils.h \
-	shared/nm-utils/nm-udev-utils.h \
 	shared/nm-ethtool-utils.h \
 	shared/nm-meta-setting.h \
 	libnm-core/nm-crypto.h \
@@ -558,22 +737,15 @@ libnm_core_lib_c_settings_real = \
 	libnm-core/nm-setting-vlan.c \
 	libnm-core/nm-setting-vpn.c \
 	libnm-core/nm-setting-vxlan.c \
+	libnm-core/nm-setting-wifi-p2p.c \
 	libnm-core/nm-setting-wimax.c \
 	libnm-core/nm-setting-wired.c \
+	libnm-core/nm-setting-wireguard.c \
 	libnm-core/nm-setting-wireless-security.c \
 	libnm-core/nm-setting-wireless.c \
 	libnm-core/nm-setting-wpan.c
 libnm_core_lib_c_real = \
 	$(libnm_core_lib_c_settings_real) \
-	shared/nm-utils/c-list-util.c \
-	shared/nm-utils/nm-dedup-multi.c \
-	shared/nm-utils/nm-enum-utils.c \
-	shared/nm-utils/nm-hash-utils.c \
-	shared/nm-utils/nm-io-utils.c \
-	shared/nm-utils/nm-secret-utils.c \
-	shared/nm-utils/nm-shared-utils.c \
-	shared/nm-utils/nm-random-utils.c \
-	shared/nm-utils/nm-udev-utils.c \
 	shared/nm-ethtool-utils.c \
 	shared/nm-meta-setting.c \
 	libnm-core/nm-crypto.c \
@@ -666,7 +838,6 @@ nodist_libnm_core_libnm_core_la_SOURCES = \
 libnm_core_libnm_core_la_LIBADD = \
 	$(GLIB_LIBS) \
 	$(UUID_LIBS) \
-	$(LIBUDEV_LIBS) \
 	$(NULL)
 
 libnm_core_libnm_core_la_LDFLAGS = \
@@ -784,7 +955,9 @@ nodist_libnm_core_tests_test_general_SOURCES = \
 
 libnm_core_tests_ldadd = \
 	libnm-core/libnm-core.la \
-	shared/libcsiphash.la \
+	shared/systemd/libnm-systemd-shared.la \
+	shared/systemd/libnm-systemd-logging-stub.la \
+	shared/nm-utils/libnm-utils-base.la \
 	$(libnm_crypto_lib) \
 	$(GLIB_LIBS)
 
@@ -871,14 +1044,15 @@ libnm_lib_h_pub_real = \
 	libnm/nm-device-macvlan.h \
 	libnm/nm-device-modem.h \
 	libnm/nm-device-olpc-mesh.h \
+	libnm/nm-device-ovs-bridge.h \
 	libnm/nm-device-ovs-interface.h \
 	libnm/nm-device-ovs-port.h \
-	libnm/nm-device-ovs-bridge.h \
 	libnm/nm-device-ppp.h \
 	libnm/nm-device-team.h \
 	libnm/nm-device-tun.h \
 	libnm/nm-device-vlan.h \
 	libnm/nm-device-vxlan.h \
+	libnm/nm-device-wifi-p2p.h \
 	libnm/nm-device-wifi.h \
 	libnm/nm-device-wimax.h \
 	libnm/nm-device-wireguard.h \
@@ -894,6 +1068,7 @@ libnm_lib_h_pub_real = \
 	libnm/nm-vpn-editor.h \
 	libnm/nm-vpn-plugin-old.h \
 	libnm/nm-vpn-service-plugin.h \
+	libnm/nm-wifi-p2p-peer.h \
 	libnm/nm-wimax-nsp.h
 libnm_lib_h_pub_mkenums = \
 	libnm/nm-enum-types.h
@@ -930,14 +1105,15 @@ libnm_lib_c_real = \
 	libnm/nm-device-macvlan.c \
 	libnm/nm-device-modem.c \
 	libnm/nm-device-olpc-mesh.c \
+	libnm/nm-device-ovs-bridge.c \
 	libnm/nm-device-ovs-interface.c \
 	libnm/nm-device-ovs-port.c \
-	libnm/nm-device-ovs-bridge.c \
 	libnm/nm-device-ppp.c \
 	libnm/nm-device-team.c \
 	libnm/nm-device-tun.c \
 	libnm/nm-device-vlan.c \
 	libnm/nm-device-vxlan.c \
+	libnm/nm-device-wifi-p2p.c \
 	libnm/nm-device-wifi.c \
 	libnm/nm-device-wimax.c \
 	libnm/nm-device-wireguard.c \
@@ -956,9 +1132,10 @@ libnm_lib_c_real = \
 	libnm/nm-remote-settings.c \
 	libnm/nm-secret-agent-old.c \
 	libnm/nm-vpn-connection.c \
-	libnm/nm-vpn-plugin-old.c \
 	libnm/nm-vpn-editor.c \
+	libnm/nm-vpn-plugin-old.c \
 	libnm/nm-vpn-service-plugin.c \
+	libnm/nm-wifi-p2p-peer.c \
 	libnm/nm-wimax-nsp.c
 libnm_lib_c_mkenums = \
 	libnm/nm-enum-types.c
@@ -990,10 +1167,11 @@ libnm_libnm_utils_la_SOURCES = \
 
 libnm_libnm_utils_la_LIBADD = \
 	libnm-core/libnm-core.la \
-	shared/libcsiphash.la \
 	$(libnm_crypto_lib) \
 	introspection/libnmdbus.la \
-	$(GLIB_LIBS)
+	shared/nm-utils/libnm-utils-base.la \
+	$(GLIB_LIBS) \
+	$(NULL)
 
 $(libnm_libnm_utils_la_OBJECTS) : $(libnm_lib_h_pub_mkenums)
 
@@ -1034,10 +1212,13 @@ EXTRA_libnm_libnm_la_DEPENDENCIES = \
 
 libnm_libnm_la_LIBADD = \
 	libnm/libnm-utils.la \
+	shared/systemd/libnm-systemd-shared.la \
+	shared/systemd/libnm-systemd-logging-stub.la \
+	shared/nm-utils/libnm-utils-udev.la \
 	$(DL_LIBS) \
 	$(GLIB_LIBS) \
 	$(UUID_LIBS) \
-	$(LIBUDEV_LIBS)
+	$(NULL)
 
 libnm_libnm_la_LDFLAGS = \
 	-Wl,--version-script="$(srcdir)/libnm/libnm.ver" \
@@ -1199,6 +1380,8 @@ libnm_tests_cppflags = \
 
 libnm_tests_ldadd = \
 	libnm/libnm.la \
+	shared/systemd/libnm-systemd-shared.la \
+	shared/systemd/libnm-systemd-logging-stub.la \
 	$(GLIB_LIBS)
 
 libnm_tests_ldflags = \
@@ -1332,166 +1515,201 @@ libexec_PROGRAMS += \
 noinst_LTLIBRARIES += \
 	src/libNetworkManagerBase.la \
 	src/libNetworkManager.la \
-	src/libsystemd-nm.la
+	src/libnm-systemd-core.la \
+	$(NULL)
 
-###############################################################################
+check-config-options:
+	$(srcdir)/tools/check-config-options.sh "$(srcdir)"
 
-noinst_LTLIBRARIES += shared/libcsiphash.la
+check_local += check-config-options
 
-shared_libcsiphash_la_CPPFLAGS = \
+###############################################################################
+
+libsystemd_cppflags = \
+	$(dflt_cppflags) \
+	-I$(srcdir)/shared \
+	-I$(builddir)/shared \
+	-I$(srcdir)/shared/systemd/ \
+	-I$(srcdir)/shared/systemd/sd-adapt-shared \
+	-I$(srcdir)/shared/systemd/src/basic \
+	$(LIBSYSTEMD_NM_CFLAGS) \
+	$(GLIB_CFLAGS) \
 	$(CODE_COVERAGE_CFLAGS) \
-	$(SANITIZER_LIB_CFLAGS) \
 	$(NULL)
 
-shared_libcsiphash_la_SOURCES = \
-	shared/c-siphash/src/c-siphash.c \
-	shared/c-siphash/src/c-siphash.h
+libsystemd_libadd = \
+	$(GLIB_LIBS) \
+	$(CODE_COVERAGE_LDFLAGS) \
+	$(NULL)
 
-###############################################################################
+noinst_LTLIBRARIES += shared/systemd/libnm-systemd-logging-stub.la
 
-noinst_LTLIBRARIES += shared/libnacd.la
+shared_systemd_libnm_systemd_logging_stub_la_CPPFLAGS = \
+	$(libsystemd_cppflags) \
+	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_SYSTEMD_SHARED \
+	-DG_LOG_DOMAIN=\""libnm"\" \
+	$(NULL)
 
-shared_libnacd_la_CFLAGS = -std=gnu99
+shared_systemd_libnm_systemd_logging_stub_la_SOURCES = \
+	shared/systemd/nm-logging-stub.c \
+	$(NULL)
 
-shared_libnacd_la_CPPFLAGS = \
-	$(CODE_COVERAGE_CFLAGS) \
-	$(SANITIZER_LIB_CFLAGS) \
-	-I$(srcdir)/shared/c-list/src \
-	-I$(srcdir)/shared/c-siphash/src \
+shared_systemd_libnm_systemd_logging_stub_la_LIBADD = \
+	$(libsystemd_libadd) \
 	$(NULL)
 
-shared_libnacd_la_SOURCES = \
-	shared/n-acd/src/n-acd.c \
-	shared/n-acd/src/n-acd.h
+noinst_LTLIBRARIES += shared/systemd/libnm-systemd-shared.la
+
+shared_systemd_libnm_systemd_shared_la_CPPFLAGS = \
+	$(libsystemd_cppflags) \
+	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_SYSTEMD_SHARED \
+	-DG_LOG_DOMAIN=\""libnm"\" \
+	$(NULL)
 
-EXTRA_DIST += shared/c-list/src/c-list.h
+shared_systemd_libnm_systemd_shared_la_SOURCES = \
+	shared/systemd/nm-sd-utils-shared.c \
+	shared/systemd/nm-sd-utils-shared.h \
+	shared/systemd/sd-adapt-shared/architecture.h \
+	shared/systemd/sd-adapt-shared/btrfs-util.h \
+	shared/systemd/sd-adapt-shared/build.h \
+	shared/systemd/sd-adapt-shared/cgroup-util.h \
+	shared/systemd/sd-adapt-shared/copy.h \
+	shared/systemd/sd-adapt-shared/def.h \
+	shared/systemd/sd-adapt-shared/device-nodes.h \
+	shared/systemd/sd-adapt-shared/dirent-util.h \
+	shared/systemd/sd-adapt-shared/errno-list.h \
+	shared/systemd/sd-adapt-shared/format-util.h \
+	shared/systemd/sd-adapt-shared/glob-util.h \
+	shared/systemd/sd-adapt-shared/gunicode.h \
+	shared/systemd/sd-adapt-shared/ioprio.h \
+	shared/systemd/sd-adapt-shared/locale-util.h \
+	shared/systemd/sd-adapt-shared/memfd-util.h \
+	shared/systemd/sd-adapt-shared/missing.h \
+	shared/systemd/sd-adapt-shared/missing_socket.h \
+	shared/systemd/sd-adapt-shared/missing_syscall.h \
+	shared/systemd/sd-adapt-shared/missing_timerfd.h \
+	shared/systemd/sd-adapt-shared/mkdir.h \
+	shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h \
+	shared/systemd/sd-adapt-shared/nm-sd-adapt-shared.h \
+	shared/systemd/sd-adapt-shared/procfs-util.h \
+	shared/systemd/sd-adapt-shared/raw-clone.h \
+	shared/systemd/sd-adapt-shared/rlimit-util.h \
+	shared/systemd/sd-adapt-shared/terminal-util.h \
+	shared/systemd/sd-adapt-shared/unaligned.h \
+	shared/systemd/sd-adapt-shared/user-util.h \
+	shared/systemd/sd-adapt-shared/virt.h \
+	shared/systemd/src/basic/alloc-util.c \
+	shared/systemd/src/basic/alloc-util.h \
+	shared/systemd/src/basic/async.h \
+	shared/systemd/src/basic/env-file.c \
+	shared/systemd/src/basic/env-file.h \
+	shared/systemd/src/basic/env-util.c \
+	shared/systemd/src/basic/env-util.h \
+	shared/systemd/src/basic/escape.c \
+	shared/systemd/src/basic/escape.h \
+	shared/systemd/src/basic/ether-addr-util.c \
+	shared/systemd/src/basic/ether-addr-util.h \
+	shared/systemd/src/basic/extract-word.c \
+	shared/systemd/src/basic/extract-word.h \
+	shared/systemd/src/basic/fd-util.c \
+	shared/systemd/src/basic/fd-util.h \
+	shared/systemd/src/basic/fileio.c \
+	shared/systemd/src/basic/fileio.h \
+	shared/systemd/src/basic/fs-util.c \
+	shared/systemd/src/basic/fs-util.h \
+	shared/systemd/src/basic/hash-funcs.c \
+	shared/systemd/src/basic/hash-funcs.h \
+	shared/systemd/src/basic/hashmap.c \
+	shared/systemd/src/basic/hashmap.h \
+	shared/systemd/src/basic/hexdecoct.c \
+	shared/systemd/src/basic/hexdecoct.h \
+	shared/systemd/src/basic/hostname-util.c \
+	shared/systemd/src/basic/hostname-util.h \
+	shared/systemd/src/basic/in-addr-util.c \
+	shared/systemd/src/basic/in-addr-util.h \
+	shared/systemd/src/basic/io-util.c \
+	shared/systemd/src/basic/io-util.h \
+	shared/systemd/src/basic/list.h \
+	shared/systemd/src/basic/log.h \
+	shared/systemd/src/basic/macro.h \
+	shared/systemd/src/basic/mempool.c \
+	shared/systemd/src/basic/mempool.h \
+	shared/systemd/src/basic/missing_fcntl.h \
+	shared/systemd/src/basic/missing_type.h \
+	shared/systemd/src/basic/parse-util.c \
+	shared/systemd/src/basic/parse-util.h \
+	shared/systemd/src/basic/path-util.c \
+	shared/systemd/src/basic/path-util.h \
+	shared/systemd/src/basic/prioq.c \
+	shared/systemd/src/basic/prioq.h \
+	shared/systemd/src/basic/process-util.c \
+	shared/systemd/src/basic/process-util.h \
+	shared/systemd/src/basic/random-util.c \
+	shared/systemd/src/basic/random-util.h \
+	shared/systemd/src/basic/refcnt.h \
+	shared/systemd/src/basic/set.h \
+	shared/systemd/src/basic/signal-util.h \
+	shared/systemd/src/basic/siphash24.h \
+	shared/systemd/src/basic/socket-util.c \
+	shared/systemd/src/basic/socket-util.h \
+	shared/systemd/src/basic/sparse-endian.h \
+	shared/systemd/src/basic/stat-util.c \
+	shared/systemd/src/basic/stat-util.h \
+	shared/systemd/src/basic/stdio-util.h \
+	shared/systemd/src/basic/string-table.c \
+	shared/systemd/src/basic/string-table.h \
+	shared/systemd/src/basic/string-util.c \
+	shared/systemd/src/basic/string-util.h \
+	shared/systemd/src/basic/strv.c \
+	shared/systemd/src/basic/strv.h \
+	shared/systemd/src/basic/time-util.c \
+	shared/systemd/src/basic/time-util.h \
+	shared/systemd/src/basic/tmpfile-util.c \
+	shared/systemd/src/basic/tmpfile-util.h \
+	shared/systemd/src/basic/umask-util.h \
+	shared/systemd/src/basic/utf8.c \
+	shared/systemd/src/basic/utf8.h \
+	shared/systemd/src/basic/util.c \
+	shared/systemd/src/basic/util.h \
+	$(NULL)
+
+shared_systemd_libnm_systemd_shared_la_LIBADD = \
+	$(libsystemd_libadd) \
+	$(NULL)
 
 ###############################################################################
 
-src_libsystemd_nm_la_cppflags = \
-	$(dflt_cppflags) \
-	-I$(srcdir)/shared \
-	-I$(builddir)/shared \
+src_libnm_systemd_core_la_cppflags = \
+	$(libsystemd_cppflags) \
 	-I$(srcdir)/libnm-core \
 	-I$(builddir)/libnm-core \
 	-I$(srcdir)/src \
-	-I$(srcdir)/src/systemd/sd-adapt \
+	-I$(srcdir)/src/systemd/sd-adapt-core \
 	-I$(srcdir)/src/systemd/src/systemd \
-	-I$(srcdir)/src/systemd/src/basic \
 	-I$(srcdir)/src/systemd/src/shared \
 	-I$(srcdir)/src/systemd/src/libsystemd-network \
+	-I$(srcdir)/src/systemd/src/libsystemd/sd-event \
 	-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_SYSTEMD \
-	$(LIBSYSTEMD_NM_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(CODE_COVERAGE_CFLAGS)
+	$(NULL)
 
-src_libsystemd_nm_la_libadd = \
-	$(GLIB_LIBS) \
-	$(CODE_COVERAGE_LDFLAGS)
+src_libnm_systemd_core_la_libadd = \
+	$(libsystemd_libadd) \
+	$(NULL)
 
-src_libsystemd_nm_la_SOURCES = \
+src_libnm_systemd_core_la_SOURCES = \
+	src/systemd/nm-sd-utils-core.c \
+	src/systemd/nm-sd-utils-core.h \
 	src/systemd/nm-sd.c \
 	src/systemd/nm-sd.h \
-	src/systemd/nm-sd-utils.c \
-	src/systemd/nm-sd-utils.h \
-	src/systemd/sd-adapt/nm-sd-adapt.c \
-	src/systemd/sd-adapt/nm-sd-adapt.h \
-	src/systemd/sd-adapt/architecture.h \
-	src/systemd/sd-adapt/btrfs-util.h \
-	src/systemd/sd-adapt/build.h \
-	src/systemd/sd-adapt/cgroup-util.h \
-	src/systemd/sd-adapt/condition.h \
-	src/systemd/sd-adapt/conf-parser.h \
-	src/systemd/sd-adapt/copy.h \
-	src/systemd/sd-adapt/def.h \
-	src/systemd/sd-adapt/device-nodes.h \
-	src/systemd/sd-adapt/dirent-util.h \
-	src/systemd/sd-adapt/errno-list.h \
-	src/systemd/sd-adapt/format-util.h \
-	src/systemd/sd-adapt/glob-util.h \
-	src/systemd/sd-adapt/gunicode.h \
-	src/systemd/sd-adapt/ioprio.h \
-	src/systemd/sd-adapt/khash.h \
-	src/systemd/sd-adapt/locale-util.h \
-	src/systemd/sd-adapt/memfd-util.h \
-	src/systemd/sd-adapt/missing.h \
-	src/systemd/sd-adapt/mkdir.h \
-	src/systemd/sd-adapt/procfs-util.h \
-	src/systemd/sd-adapt/raw-clone.h \
-	src/systemd/sd-adapt/sd-daemon.h \
-	src/systemd/sd-adapt/sd-device.h \
-	src/systemd/sd-adapt/stat-util.h \
-	src/systemd/sd-adapt/terminal-util.h \
-	src/systemd/sd-adapt/unaligned.h \
-	src/systemd/sd-adapt/user-util.h \
-	src/systemd/sd-adapt/virt.h \
-	src/systemd/src/basic/alloc-util.c \
-	src/systemd/src/basic/alloc-util.h \
-	src/systemd/src/basic/async.h \
-	src/systemd/src/basic/env-util.c \
-	src/systemd/src/basic/env-util.h \
-	src/systemd/src/basic/escape.c \
-	src/systemd/src/basic/escape.h \
-	src/systemd/src/basic/ether-addr-util.c \
-	src/systemd/src/basic/ether-addr-util.h \
-	src/systemd/src/basic/extract-word.c \
-	src/systemd/src/basic/extract-word.h \
-	src/systemd/src/basic/fd-util.c \
-	src/systemd/src/basic/fd-util.h \
-	src/systemd/src/basic/fileio.c \
-	src/systemd/src/basic/fileio.h \
-	src/systemd/src/basic/fs-util.c \
-	src/systemd/src/basic/fs-util.h \
-	src/systemd/src/basic/hash-funcs.c \
-	src/systemd/src/basic/hash-funcs.h \
-	src/systemd/src/basic/hashmap.c \
-	src/systemd/src/basic/hashmap.h \
-	src/systemd/src/basic/hexdecoct.c \
-	src/systemd/src/basic/hexdecoct.h \
-	src/systemd/src/basic/hostname-util.c \
-	src/systemd/src/basic/hostname-util.h \
-	src/systemd/src/basic/in-addr-util.c \
-	src/systemd/src/basic/in-addr-util.h \
-	src/systemd/src/basic/io-util.c \
-	src/systemd/src/basic/io-util.h \
-	src/systemd/src/basic/list.h \
-	src/systemd/src/basic/log.h \
-	src/systemd/src/basic/macro.h \
-	src/systemd/src/basic/mempool.c \
-	src/systemd/src/basic/mempool.h \
-	src/systemd/src/basic/parse-util.c \
-	src/systemd/src/basic/parse-util.h \
-	src/systemd/src/basic/path-util.c \
-	src/systemd/src/basic/path-util.h \
-	src/systemd/src/basic/prioq.c \
-	src/systemd/src/basic/prioq.h \
-	src/systemd/src/basic/process-util.c \
-	src/systemd/src/basic/process-util.h \
-	src/systemd/src/basic/random-util.c \
-	src/systemd/src/basic/random-util.h \
-	src/systemd/src/basic/refcnt.h \
-	src/systemd/src/basic/set.h \
-	src/systemd/src/basic/signal-util.h \
-	src/systemd/src/basic/siphash24.h \
-	src/systemd/src/basic/socket-util.c \
-	src/systemd/src/basic/socket-util.h \
-	src/systemd/src/basic/sparse-endian.h \
-	src/systemd/src/basic/stat-util.c \
-	src/systemd/src/basic/stat-util.h \
-	src/systemd/src/basic/stdio-util.h \
-	src/systemd/src/basic/string-table.c \
-	src/systemd/src/basic/string-table.h \
-	src/systemd/src/basic/string-util.c \
-	src/systemd/src/basic/string-util.h \
-	src/systemd/src/basic/strv.c \
-	src/systemd/src/basic/strv.h \
-	src/systemd/src/basic/time-util.c \
-	src/systemd/src/basic/time-util.h \
-	src/systemd/src/basic/umask-util.h \
-	src/systemd/src/basic/utf8.c \
-	src/systemd/src/basic/utf8.h \
-	src/systemd/src/basic/util.c \
-	src/systemd/src/basic/util.h \
+	src/systemd/sd-adapt-core/condition.h \
+	src/systemd/sd-adapt-core/conf-parser.h \
+	src/systemd/sd-adapt-core/device-util.h \
+	src/systemd/sd-adapt-core/khash.h \
+	src/systemd/sd-adapt-core/nm-sd-adapt-core.c \
+	src/systemd/sd-adapt-core/nm-sd-adapt-core.h \
+	src/systemd/sd-adapt-core/sd-daemon.h \
+	src/systemd/sd-adapt-core/sd-device.h \
+	src/systemd/sd-adapt-core/stat-util.h \
 	src/systemd/src/libsystemd-network/arp-util.c \
 	src/systemd/src/libsystemd-network/arp-util.h \
 	src/systemd/src/libsystemd-network/dhcp-identifier.c \
@@ -1521,6 +1739,9 @@ src_libsystemd_nm_la_SOURCES = \
 	src/systemd/src/libsystemd-network/sd-ipv4acd.c \
 	src/systemd/src/libsystemd-network/sd-ipv4ll.c \
 	src/systemd/src/libsystemd-network/sd-lldp.c \
+	src/systemd/src/libsystemd/sd-event/event-source.h \
+	src/systemd/src/libsystemd/sd-event/event-util.c \
+	src/systemd/src/libsystemd/sd-event/event-util.h \
 	src/systemd/src/libsystemd/sd-event/sd-event.c \
 	src/systemd/src/libsystemd/sd-id128/id128-util.c \
 	src/systemd/src/libsystemd/sd-id128/id128-util.h \
@@ -1539,9 +1760,9 @@ src_libsystemd_nm_la_SOURCES = \
 	src/systemd/src/systemd/sd-lldp.h \
 	src/systemd/src/systemd/sd-ndisc.h
 
-src_libsystemd_nm_la_CPPFLAGS = $(src_libsystemd_nm_la_cppflags)
-src_libsystemd_nm_la_LIBADD = $(src_libsystemd_nm_la_libadd)
-$(src_libsystemd_nm_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+src_libnm_systemd_core_la_CPPFLAGS = $(src_libnm_systemd_core_la_cppflags)
+src_libnm_systemd_core_la_LIBADD = $(src_libnm_systemd_core_la_libadd)
+$(src_libnm_systemd_core_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
 EXTRA_DIST += \
 	src/systemd/meson.build
@@ -1619,8 +1840,9 @@ endif
 
 src_libNetworkManagerBase_la_LIBADD = \
 	libnm-core/libnm-core.la \
-	shared/libcsiphash.la \
 	$(libnm_crypto_lib) \
+	shared/nm-utils/libnm-utils-udev.la \
+	shared/nm-utils/libnm-utils-base.la \
 	$(GLIB_LIBS) \
 	$(SYSTEMD_JOURNAL_LIBS) \
 	$(LIBUDEV_LIBS) \
@@ -1642,12 +1864,12 @@ src_libNetworkManager_la_SOURCES = \
 	src/nm-checkpoint-manager.c \
 	src/nm-checkpoint-manager.h \
 	\
-	src/devices/nm-device.c \
-	src/devices/nm-device.h \
-	src/devices/nm-lldp-listener.c \
-	src/devices/nm-lldp-listener.h \
 	src/devices/nm-acd-manager.c \
 	src/devices/nm-acd-manager.h \
+	src/devices/nm-lldp-listener.c \
+	src/devices/nm-lldp-listener.h \
+	src/devices/nm-device.c \
+	src/devices/nm-device.h \
 	src/devices/nm-device-ethernet-utils.c \
 	src/devices/nm-device-ethernet-utils.h \
 	src/devices/nm-device-factory.c \
@@ -1804,6 +2026,8 @@ src_libNetworkManager_la_SOURCES = \
 	src/nm-rfkill-manager.h \
 	src/nm-session-monitor.h \
 	src/nm-session-monitor.c \
+	src/nm-keep-alive.c \
+	src/nm-keep-alive.h \
 	src/nm-sleep-monitor.c \
 	src/nm-sleep-monitor.h \
 	src/nm-types.h \
@@ -1812,7 +2036,8 @@ src_libNetworkManager_la_SOURCES = \
 
 src_libNetworkManager_la_LIBADD = \
 	src/libNetworkManagerBase.la \
-	src/libsystemd-nm.la \
+	src/libnm-systemd-core.la \
+	shared/systemd/libnm-systemd-shared.la \
 	shared/libnacd.la \
 	$(GLIB_LIBS) \
 	$(LIBUDEV_LIBS) \
@@ -1885,7 +2110,8 @@ src_nm_iface_helper_SOURCES = \
 
 src_nm_iface_helper_LDADD = \
 	src/libNetworkManagerBase.la \
-	src/libsystemd-nm.la \
+	src/libnm-systemd-core.la \
+	shared/systemd/libnm-systemd-shared.la \
 	$(GLIB_LIBS) \
 	$(LIBUDEV_LIBS) \
 	$(LIBNDP_LIBS) \
@@ -1922,7 +2148,10 @@ src_initrd_nm_initrd_generator_LDADD = \
 	libnm-core/libnm-core.la \
 	src/initrd/libnmi-core.la \
 	src/libNetworkManagerBase.la \
-	$(GLIB_LIBS)
+	shared/systemd/libnm-systemd-shared.la \
+	shared/nm-utils/libnm-utils-base.la \
+	$(GLIB_LIBS) \
+	$(NULL)
 
 src_initrd_nm_initrd_generator_LDFLAGS = \
 	-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
@@ -1943,7 +2172,9 @@ src_initrd_tests_test_ibft_reader_LDADD = \
 	libnm-core/libnm-core.la \
 	src/initrd/libnmi-core.la \
 	src/libNetworkManagerTest.la \
-	$(GLIB_LIBS)
+	shared/nm-utils/libnm-utils-base.la \
+	$(GLIB_LIBS) \
+	$(NULL)
 
 EXTRA_DIST += \
 	src/initrd/meson.build \
@@ -2157,7 +2388,9 @@ src_initrd_tests_test_cmdline_reader_LDADD = \
 	libnm-core/libnm-core.la \
 	src/initrd/libnmi-core.la \
 	src/libNetworkManagerTest.la \
-	$(GLIB_LIBS)
+	shared/nm-utils/libnm-utils-base.la \
+	$(GLIB_LIBS) \
+	$(NULL)
 
 $(src_initrd_libnmi_core_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 $(src_initrd_nm_initrd_generator_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
@@ -2538,8 +2771,8 @@ EXTRA_DIST += \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bridge_Component.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Proxy_Basic.cexpected \
-	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Infiniband_Port.cexpected \
+	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_VLAN_reorder_hdr.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Band_A.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Hidden.cexpected \
@@ -2633,6 +2866,7 @@ EXTRA_DIST += \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-hex \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-quoted \
+	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-sae \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-104-ascii \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-40-ascii \
@@ -2650,8 +2884,8 @@ EXTRA_DIST += \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2 \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1X-subj-matches \
-	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-password-raw \
+	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2 \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-agent \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-always \
@@ -2698,6 +2932,7 @@ EXTRA_DIST += \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_write_wired_auto_negotiate_on.cexpected \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \
+	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-sae \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-104-ascii \
 	src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-40-ascii \
@@ -2811,13 +3046,14 @@ check_programs += src/settings/plugins/ifupdown/tests/test-ifupdown
 src_settings_plugins_ifupdown_tests_test_ifupdown_CPPFLAGS = $(src_cppflags_base_test)
 
 src_settings_plugins_ifupdown_tests_test_ifupdown_LDFLAGS = \
-	$(GLIB_LDFLAGS) \
 	$(CODE_COVERAGE_LDFLAGS) \
 	$(SANITIZER_EXEC_LDFLAGS)
 
 src_settings_plugins_ifupdown_tests_test_ifupdown_LDADD = \
 	src/settings/plugins/ifupdown/libnms-ifupdown-core.la \
-	src/libNetworkManagerTest.la
+	src/libNetworkManagerTest.la \
+	$(GLIB_LIBS) \
+	$(NULL)
 
 $(src_settings_plugins_ifupdown_tests_test_ifupdown_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
@@ -3025,24 +3261,30 @@ if WITH_WIFI
 core_plugins += src/devices/wifi/libnm-device-plugin-wifi.la
 
 src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
-	src/devices/wifi/nm-wifi-factory.c \
+	src/devices/wifi/nm-device-olpc-mesh.c \
+	src/devices/wifi/nm-device-olpc-mesh.h \
+	src/devices/wifi/nm-device-wifi-p2p.c \
+	src/devices/wifi/nm-device-wifi-p2p.h \
 	src/devices/wifi/nm-device-wifi.c \
 	src/devices/wifi/nm-device-wifi.h \
 	src/devices/wifi/nm-wifi-ap.c \
 	src/devices/wifi/nm-wifi-ap.h \
-	src/devices/wifi/nm-wifi-utils.c \
-	src/devices/wifi/nm-wifi-utils.h \
 	src/devices/wifi/nm-wifi-common.c \
 	src/devices/wifi/nm-wifi-common.h \
-	src/devices/wifi/nm-device-olpc-mesh.c \
-	src/devices/wifi/nm-device-olpc-mesh.h
+	src/devices/wifi/nm-wifi-factory.c \
+	src/devices/wifi/nm-wifi-p2p-peer.c \
+	src/devices/wifi/nm-wifi-p2p-peer.h \
+	src/devices/wifi/nm-wifi-utils.c \
+	src/devices/wifi/nm-wifi-utils.h \
+	$(NULL)
 
 if WITH_IWD
 src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES += \
 	src/devices/wifi/nm-device-iwd.c \
 	src/devices/wifi/nm-device-iwd.h \
 	src/devices/wifi/nm-iwd-manager.c \
-	src/devices/wifi/nm-iwd-manager.h
+	src/devices/wifi/nm-iwd-manager.h \
+	$(NULL)
 endif
 
 src_devices_wifi_libnm_device_plugin_wifi_la_CPPFLAGS = $(src_cppflags_device_plugin)
@@ -3386,6 +3628,7 @@ $(src_tests_config_test_config_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
 EXTRA_DIST += \
 	src/tests/config/NetworkManager.conf \
+	src/tests/config/NetworkManager-warn.conf \
 	src/tests/config/NetworkManager.state \
 	src/tests/config/bad.conf \
 	src/tests/config/global-dns-invalid.conf \
@@ -3453,14 +3696,13 @@ $(src_tests_test_wired_defname_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 $(src_tests_test_utils_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
 src_tests_test_systemd_CPPFLAGS = \
-	$(src_libsystemd_nm_la_cppflags) \
+	$(src_libnm_systemd_core_la_cppflags) \
 	-DNETWORKMANAGER_COMPILATION_TEST
-src_tests_test_systemd_SOURCES = \
-	src/tests/test-systemd.c
 src_tests_test_systemd_LDADD = \
-	src/libsystemd-nm.la \
+	src/libnm-systemd-core.la \
+	shared/systemd/libnm-systemd-shared.la \
 	shared/libcsiphash.la \
-	$(src_libsystemd_nm_la_libadd) \
+	$(src_libnm_systemd_core_la_libadd) \
 	$(NULL)
 
 $(src_tests_test_systemd_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
@@ -3638,6 +3880,7 @@ clients_nm_online_LDADD = \
 	$(GLIB_LIBS)
 
 $(clients_nm_online_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+$(clients_nm_online_OBJECTS): $(libnm_lib_h_pub_mkenums)
 
 EXTRA_DIST += \
 	clients/meson.build
@@ -3664,15 +3907,6 @@ clients_cppflags = \
 check_ltlibraries += clients/common/libnmc-base.la
 
 clients_common_libnmc_base_la_SOURCES = \
-	shared/nm-utils/nm-enum-utils.c \
-	shared/nm-utils/nm-enum-utils.h \
-	shared/nm-utils/nm-hash-utils.c \
-	shared/nm-utils/nm-hash-utils.h \
-	shared/nm-utils/nm-random-utils.c \
-	shared/nm-utils/nm-random-utils.h \
-	shared/nm-utils/nm-shared-utils.c \
-	shared/nm-utils/nm-shared-utils.h \
-	\
 	clients/common/nm-secret-agent-simple.c \
 	clients/common/nm-secret-agent-simple.h \
 	clients/common/nm-vpn-helpers.c \
@@ -3687,7 +3921,7 @@ clients_common_libnmc_base_la_CPPFLAGS = \
 
 clients_common_libnmc_base_la_LIBADD = \
 	libnm/libnm.la \
-	shared/libcsiphash.la \
+	shared/nm-utils/libnm-utils-base.la \
 	$(GLIB_LIBS) \
 	$(NULL)
 
@@ -3770,6 +4004,13 @@ clients_common_tests_test_general_LDADD = \
 
 $(clients_common_tests_test_general_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
+EXTRA_DIST += \
+	clients/common/tests/wg-test0.conf \
+	clients/common/tests/wg-test1.conf \
+	clients/common/tests/wg-test2.conf \
+	clients/common/tests/wg-test3.conf \
+	$(NULL)
+
 ###############################################################################
 # clients/cli
 ###############################################################################
@@ -4075,6 +4316,7 @@ data_edit = sed \
 	-e 's|@sbindir[@]|$(sbindir)|g' \
 	-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
 	-e 's|@nmrundir[@]|$(nmrundir)|g' \
+	-e 's|@nmstatedir[@]|$(nmstatedir)|g' \
 	-e 's|@localstatedir[@]|$(localstatedir)|g' \
 	-e 's|@libexecdir[@]|$(libexecdir)|g' \
 	-e 's|@DISTRO_NETWORK_SERVICE[@]|$(DISTRO_NETWORK_SERVICE)|g' \
@@ -4105,11 +4347,6 @@ endif
 data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in
 	$(AM_V_GEN) $(data_edit) $< >$@
 
-data/org.freedesktop.NetworkManager.service: $(srcdir)/data/org.freedesktop.NetworkManager.service.in
-	$(AM_V_GEN) $(data_edit) $< >$@
-
-service_DATA += data/org.freedesktop.NetworkManager.service
-
 endif
 
 examples_DATA += data/server.conf
@@ -4131,7 +4368,6 @@ EXTRA_DIST += \
 	data/NetworkManager-wait-online.service.in \
 	data/NetworkManager-wait-online-systemd-pre200.service.in \
 	data/NetworkManager-dispatcher.service.in \
-	data/org.freedesktop.NetworkManager.service.in \
 	data/84-nm-drivers.rules \
 	data/85-nm-unmanaged.rules \
 	data/90-nm-thunderbolt.rules \
@@ -4142,7 +4378,6 @@ CLEANFILES += \
 	data/NetworkManager.service \
 	data/NetworkManager-wait-online.service \
 	data/NetworkManager-dispatcher.service \
-	data/org.freedesktop.NetworkManager.service \
 	data/server.conf
 
 ###############################################################################
@@ -4204,7 +4439,6 @@ libnm_util_lib_h_pub_real = \
 libnm_util_lib_h_pub_mkenums = \
 	libnm-util/nm-utils-enum-types.h
 libnm_util_lib_h_priv = \
-	shared/nm-utils/nm-shared-utils.h \
 	libnm-util/crypto.h \
 	libnm-util/nm-dbus-glib-types.h \
 	libnm-util/nm-gvaluearray-compat.h \
@@ -4219,7 +4453,6 @@ nodist_libnm_util_libnm_util_include_HEADERS = \
 	$(libnm_util_lib_h_pub_mkenums)
 
 libnm_util_lib_c_real = \
-	shared/nm-utils/nm-shared-utils.c \
 	libnm-util/crypto.c \
 	libnm-util/nm-connection.c \
 	libnm-util/nm-param-spec-specialized.c \
@@ -4277,6 +4510,7 @@ nm_utils_enum_types_sources = $(filter-out libnm-util/NetworkManager%,$(libnm_ut
 $(libnm_util_libnm_util_la_OBJECTS): $(libnm_util_lib_h_pub_mkenums)
 
 libnm_util_libnm_util_la_LIBADD = \
+	shared/nm-utils/libnm-utils-base.la \
 	$(GLIB_LIBS) \
 	$(DBUS_LIBS) \
 	$(UUID_LIBS)
@@ -4518,7 +4752,6 @@ libnm_glib_lib_h_pub_real = \
 libnm_glib_lib_h_pub_mkenums = \
 	libnm-glib/nm-glib-enum-types.h
 libnm_glib_lib_h_priv = \
-	shared/nm-utils/nm-udev-utils.h \
 	libnm-glib/nm-object-private.h \
 	libnm-glib/nm-device-private.h \
 	libnm-glib/nm-types-private.h \
@@ -4545,7 +4778,6 @@ nodist_libnm_glib_libnmvpn_HEADERS = \
 	$(libnm_glib_vpn_h_mkenums)
 
 libnm_glib_lib_c_real = \
-	shared/nm-utils/nm-udev-utils.c \
 	libnm-glib/nm-object.c \
 	libnm-glib/nm-dbus-helpers.c \
 	libnm-glib/nm-client.c \
@@ -4600,9 +4832,12 @@ libnm_glib_libnm_glib_la_LDFLAGS = \
 libnm_glib_libnm_glib_la_LIBADD = \
 	libnm-util/libnm-util.la \
 	libnm-glib/libdeprecated-nm-glib.la \
+	shared/nm-utils/libnm-utils-udev.la \
 	$(GLIB_LIBS) \
 	$(DBUS_LIBS) \
-	$(LIBUDEV_LIBS)
+	$(LIBUDEV_LIBS) \
+	$(NULL)
+
 $(libnm_glib_libnm_glib_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
 
 GLIB_GENERATED += \
@@ -5017,30 +5252,18 @@ EXTRA_DIST += \
 	shared/nm-dispatcher-api.h \
 	shared/nm-test-libnm-utils.h \
 	shared/nm-test-utils-impl.c \
-	shared/nm-utils/c-list-util.c \
-	shared/nm-utils/c-list-util.h \
-	shared/nm-utils/nm-c-list.h \
 	shared/nm-utils/nm-compat.c \
 	shared/nm-utils/nm-compat.h \
-	shared/nm-utils/nm-glib.h \
-	shared/nm-utils/nm-io-utils.c \
-	shared/nm-utils/nm-io-utils.h \
 	shared/nm-utils/nm-jansson.h \
-	shared/nm-utils/nm-obj.h \
-	shared/nm-utils/nm-macros-internal.h \
-	shared/nm-utils/nm-secret-utils.c \
-	shared/nm-utils/nm-secret-utils.h \
-	shared/nm-utils/nm-shared-utils.c \
-	shared/nm-utils/nm-shared-utils.h \
 	shared/nm-utils/nm-test-utils.h \
 	shared/nm-utils/nm-vpn-editor-plugin-call.h \
 	shared/nm-utils/nm-vpn-plugin-macros.h \
 	shared/nm-utils/nm-vpn-plugin-utils.c \
 	shared/nm-utils/nm-vpn-plugin-utils.h \
-	shared/nm-utils/unaligned.h \
 	shared/nm-version-macros.h.in \
 	shared/meson.build \
 	\
+	tools/check-config-options.sh \
 	tools/check-docs.sh \
 	tools/check-exports.sh \
 	tools/check-settings-docs.sh \