summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-04-15 09:26:53 +0200
committerThomas Haller <thaller@redhat.com>2019-04-18 18:59:09 +0200
commitaf07ed01c04867e281cc3982a7ab0d244d4f8e2e (patch)
tree8542a3b03a6eaed9796eab8174323b3d63d416c8
parent81833358786b0fdd0668ef92b0bdc1361fa980b3 (diff)
downloadNetworkManager-af07ed01c04867e281cc3982a7ab0d244d4f8e2e.tar.gz
shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-core
"libnm-core" implements common functionality for "NetworkManager" and "libnm". Note that clients like "nmcli" cannot access the internal API provided by "libnm-core". So, if nmcli wants to do something that is also done by "libnm-core", , "libnm", or "NetworkManager", the code would have to be duplicated. Instead, such code can be in "libnm-libnm-core-{intern|aux}.la". Note that: 0) "libnm-libnm-core-intern.la" is used by libnm-core itsself. On the other hand, "libnm-libnm-core-aux.la" is not used by libnm-core, but provides utilities on top of it. 1) they both extend "libnm-core" with utlities that are not public API of libnm itself. Maybe part of the code should one day become public API of libnm. On the other hand, this is code for which we may not want to commit to a stable interface or which we don't want to provide as part of the API. 2) "libnm-libnm-core-intern.la" is statically linked by "libnm-core" and thus directly available to "libnm" and "NetworkManager". On the other hand, "libnm-libnm-core-aux.la" may be used by "libnm" and "NetworkManager". Both libraries may be statically linked by libnm clients (like nmcli). 3) it must only use glib, libnm-glib-aux.la, and the public API of libnm-core. This is important: it must not use "libnm-core/nm-core-internal.h" nor "libnm-core/nm-utils-private.h" so the static library is usable by nmcli which couldn't access these. Note that "shared/nm-meta-setting.c" is an entirely different case, because it behaves differently depending on whether linking against "libnm-core" or the client programs. As such, this file must be compiled twice.
-rw-r--r--Makefile.am117
-rw-r--r--clients/cli/general.c2
-rw-r--r--clients/cli/settings.c2
-rw-r--r--clients/common/meson.build4
-rw-r--r--clients/common/nm-client-utils.h2
-rw-r--r--clients/common/nm-meta-setting-desc.c4
-rw-r--r--clients/common/nm-meta-setting-desc.h2
-rw-r--r--clients/tui/nmt-mac-entry.c2
-rw-r--r--dispatcher/nm-dispatcher-utils.c2
-rw-r--r--dispatcher/nm-dispatcher.c2
-rw-r--r--dispatcher/tests/test-dispatcher-envp.c2
-rw-r--r--libnm-core/meson.build85
-rw-r--r--libnm-core/nm-core-internal.h2
-rw-r--r--libnm-core/nm-keyfile.c2
-rw-r--r--libnm-core/nm-setting-ethtool.c2
-rw-r--r--libnm-core/nm-setting-vlan.c2
-rw-r--r--libnm-core/nm-setting-wifi-p2p.c2
-rw-r--r--libnm-core/nm-setting-wired.c2
-rw-r--r--libnm-core/nm-setting-wireless.c2
-rw-r--r--libnm-core/nm-utils.c2
-rw-r--r--libnm-core/tests/test-general.c2
-rw-r--r--libnm/nm-manager.c2
-rw-r--r--shared/meson.build40
-rw-r--r--shared/nm-libnm-core-aux/nm-dispatcher-api.h (renamed from shared/nm-dispatcher-api.h)4
-rw-r--r--shared/nm-libnm-core-intern/nm-common-macros.h (renamed from shared/nm-common-macros.h)0
-rw-r--r--shared/nm-libnm-core-intern/nm-ethtool-utils.c (renamed from shared/nm-ethtool-utils.c)0
-rw-r--r--shared/nm-libnm-core-intern/nm-ethtool-utils.h (renamed from shared/nm-ethtool-utils.h)0
-rw-r--r--shared/nm-libnm-core-intern/nm-libnm-core-utils.c (renamed from shared/nm-libnm-core-utils.c)0
-rw-r--r--shared/nm-libnm-core-intern/nm-libnm-core-utils.h (renamed from shared/nm-libnm-core-utils.h)0
-rw-r--r--src/NetworkManagerUtils.c2
-rw-r--r--src/devices/nm-device.c4
-rw-r--r--src/devices/wifi/nm-device-iwd.c2
-rw-r--r--src/devices/wifi/nm-device-wifi.c2
-rw-r--r--src/nm-active-connection.c2
-rw-r--r--src/nm-dispatcher.c2
-rw-r--r--src/nm-hostname-manager.c2
-rw-r--r--src/nm-manager.c2
-rw-r--r--src/platform/nm-platform-utils.c2
-rw-r--r--src/platform/nm-platform-utils.h2
-rw-r--r--src/settings/nm-agent-manager.c2
-rw-r--r--src/settings/nm-settings-connection.c2
-rw-r--r--src/settings/nm-settings.c2
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c2
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h2
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c2
-rw-r--r--src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c2
46 files changed, 235 insertions, 91 deletions
diff --git a/Makefile.am b/Makefile.am
index 7a2155236a..21359e5d6e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -396,6 +396,74 @@ shared_nm_udev_aux_libnm_udev_aux_la_LIBADD = \
###############################################################################
+noinst_LTLIBRARIES += shared/nm-libnm-core-intern/libnm-libnm-core-intern.la
+
+shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_CPPFLAGS = \
+ $(dflt_cppflags) \
+ -I$(srcdir)/shared \
+ -I$(builddir)/shared \
+ -I$(srcdir)/libnm-core \
+ -I$(builddir)/libnm-core \
+ $(CODE_COVERAGE_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(SANITIZER_LIB_CFLAGS) \
+ -DG_LOG_DOMAIN=\""libnm"\" \
+ -DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
+ $(NULL)
+
+shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_SOURCES = \
+ shared/nm-libnm-core-intern/nm-common-macros.h \
+ shared/nm-libnm-core-intern/nm-ethtool-utils.c \
+ shared/nm-libnm-core-intern/nm-ethtool-utils.h \
+ shared/nm-libnm-core-intern/nm-libnm-core-utils.c \
+ shared/nm-libnm-core-intern/nm-libnm-core-utils.h \
+ $(NULL)
+
+shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_LDFLAGS = \
+ $(CODE_COVERAGE_LDFLAGS) \
+ $(SANITIZER_LIB_LDFLAGS) \
+ $(NULL)
+
+shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_LIBADD = \
+ $(GLIB_LIBS) \
+ $(NULL)
+
+$(shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+
+###############################################################################
+
+noinst_LTLIBRARIES += shared/nm-libnm-core-aux/libnm-libnm-core-aux.la
+
+shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_CPPFLAGS = \
+ $(dflt_cppflags) \
+ -I$(srcdir)/shared \
+ -I$(builddir)/shared \
+ -I$(srcdir)/libnm-core \
+ -I$(builddir)/libnm-core \
+ $(CODE_COVERAGE_CFLAGS) \
+ $(GLIB_CFLAGS) \
+ $(SANITIZER_LIB_CFLAGS) \
+ -DG_LOG_DOMAIN=\""libnm"\" \
+ -DNETWORKMANAGER_COMPILATION='(NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)' \
+ $(NULL)
+
+shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_SOURCES = \
+ shared/nm-libnm-core-aux/nm-dispatcher-api.h \
+ $(NULL)
+
+shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_LDFLAGS = \
+ $(CODE_COVERAGE_LDFLAGS) \
+ $(SANITIZER_LIB_LDFLAGS) \
+ $(NULL)
+
+shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_LIBADD = \
+ $(GLIB_LIBS) \
+ $(NULL)
+
+$(shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
+
+###############################################################################
+
check_programs += shared/nm-utils/tests/test-shared-general
shared_nm_utils_tests_test_shared_general_CPPFLAGS = \
@@ -723,8 +791,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-ethtool-utils.h \
- shared/nm-libnm-core-utils.h \
shared/nm-meta-setting.h \
libnm-core/nm-crypto.h \
libnm-core/nm-crypto-impl.h \
@@ -786,8 +852,6 @@ libnm_core_lib_c_settings_real = \
libnm-core/nm-setting-wpan.c
libnm_core_lib_c_real = \
$(libnm_core_lib_c_settings_real) \
- shared/nm-ethtool-utils.c \
- shared/nm-libnm-core-utils.c \
shared/nm-meta-setting.c \
libnm-core/nm-crypto.c \
libnm-core/nm-connection.c \
@@ -988,22 +1052,28 @@ libnm_core_tests_test_settings_defaults_CPPFLAGS = $(libnm_core_tests_cppflags)
libnm_core_tests_test_general_SOURCES = \
libnm-core/tests/test-general-enums.h \
- libnm-core/tests/test-general.c
+ libnm-core/tests/test-general.c \
+ $(NULL)
nodist_libnm_core_tests_test_general_SOURCES = \
libnm-core/tests/nm-core-tests-enum-types.c \
- libnm-core/tests/nm-core-tests-enum-types.h
+ libnm-core/tests/nm-core-tests-enum-types.h \
+ $(NULL)
libnm_core_tests_ldadd = \
+ shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
libnm-core/libnm-core.la \
+ $(libnm_crypto_lib) \
+ shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
shared/systemd/libnm-systemd-shared.la \
shared/systemd/libnm-systemd-logging-stub.la \
shared/nm-glib-aux/libnm-glib-aux.la \
- $(libnm_crypto_lib) \
- $(GLIB_LIBS)
+ $(GLIB_LIBS) \
+ $(NULL)
libnm_core_tests_ldflags = \
- $(SANITIZER_EXEC_LDFLAGS)
+ $(SANITIZER_EXEC_LDFLAGS) \
+ $(NULL)
libnm_core_tests_test_compare_LDADD = $(libnm_core_tests_ldadd)
libnm_core_tests_test_crypto_LDADD = $(libnm_core_tests_ldadd)
@@ -1207,8 +1277,10 @@ libnm_libnm_utils_la_SOURCES = \
libnm/nm-libnm-utils.c
libnm_libnm_utils_la_LIBADD = \
+ shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
+ shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
introspection/libnmdbus.la \
shared/nm-glib-aux/libnm-glib-aux.la \
$(GLIB_LIBS) \
@@ -1426,9 +1498,6 @@ libnm_tests_test_general_LDADD = \
libnm/libnm-utils.la \
$(libnm_tests_ldadd)
-libnm_tests_test_general_LDFLAGS = \
- $(libnm_tests_ldflags)
-
libnm_tests_test_nm_client_LDADD = $(libnm_tests_ldadd)
libnm_tests_test_remote_settings_client_LDADD = $(libnm_tests_ldadd)
libnm_tests_test_secret_agent_LDADD = $(libnm_tests_ldadd)
@@ -1863,8 +1932,10 @@ src_libNetworkManagerBase_la_SOURCES += \
endif
src_libNetworkManagerBase_la_LIBADD = \
+ shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
+ shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
shared/nm-udev-aux/libnm-udev-aux.la \
shared/nm-glib-aux/libnm-glib-aux.la \
$(GLIB_LIBS) \
@@ -2169,7 +2240,6 @@ src_initrd_nm_initrd_generator_SOURCES = \
src/initrd/nm-initrd-generator.c
src_initrd_nm_initrd_generator_LDADD = \
- libnm-core/libnm-core.la \
src/initrd/libnmi-core.la \
src/libNetworkManagerBase.la \
shared/systemd/libnm-systemd-shared.la \
@@ -2193,7 +2263,6 @@ src_initrd_tests_test_ibft_reader_LDFLAGS = \
$(SANITIZER_EXEC_LDFLAGS)
src_initrd_tests_test_ibft_reader_LDADD = \
- libnm-core/libnm-core.la \
src/initrd/libnmi-core.la \
src/libNetworkManagerTest.la \
shared/nm-glib-aux/libnm-glib-aux.la \
@@ -2409,7 +2478,6 @@ src_initrd_tests_test_cmdline_reader_LDFLAGS = \
$(SANITIZER_EXEC_LDFLAGS)
src_initrd_tests_test_cmdline_reader_LDADD = \
- libnm-core/libnm-core.la \
src/initrd/libnmi-core.la \
src/libNetworkManagerTest.la \
shared/nm-glib-aux/libnm-glib-aux.la \
@@ -3784,9 +3852,9 @@ $(dispatcher_nm_dispatcher_OBJECTS): $(dispatcher_nmdbus_dispatcher_sources)
CLEANFILES += $(dispatcher_nmdbus_dispatcher_sources)
dispatcher_libnm_dispatcher_core_la_SOURCES = \
- shared/nm-dispatcher-api.h \
dispatcher/nm-dispatcher-utils.c \
- dispatcher/nm-dispatcher-utils.h
+ dispatcher/nm-dispatcher-utils.h \
+ $(NULL)
dispatcher_libnm_dispatcher_core_la_CPPFLAGS = $(dispatcher_cppflags)
@@ -3795,8 +3863,8 @@ dispatcher_libnm_dispatcher_core_la_LIBADD = \
$(GLIB_LIBS)
dispatcher_nm_dispatcher_SOURCES = \
- shared/nm-dispatcher-api.h \
- dispatcher/nm-dispatcher.c
+ dispatcher/nm-dispatcher.c \
+ $(NULL)
nodist_dispatcher_nm_dispatcher_SOURCES = $(dispatcher_nmdbus_dispatcher_sources)
@@ -3986,11 +4054,6 @@ clients_common_libnmc_la_SOURCES = \
shared/nm-meta-setting.c \
shared/nm-meta-setting.h \
\
- shared/nm-ethtool-utils.c \
- shared/nm-ethtool-utils.h \
- shared/nm-libnm-core-utils.c \
- shared/nm-libnm-core-utils.h \
- \
clients/common/nm-meta-setting-desc.c \
clients/common/nm-meta-setting-desc.h \
clients/common/nm-meta-setting-access.c \
@@ -4003,8 +4066,10 @@ clients_common_libnmc_la_CPPFLAGS = \
$(NULL)
clients_common_libnmc_la_LIBADD = \
- libnm/libnm.la \
clients/common/libnmc-base.la \
+ libnm/libnm.la \
+ shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
+ shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
$(GLIB_LIBS)
$(clients_common_libnmc_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
@@ -4604,9 +4669,7 @@ EXTRA_DIST += \
\
po/meson.build \
\
- shared/nm-common-macros.h \
shared/nm-default.h \
- shared/nm-dispatcher-api.h \
shared/nm-test-libnm-utils.h \
shared/nm-test-utils-impl.c \
shared/nm-utils/nm-compat.c \
diff --git a/clients/cli/general.c b/clients/cli/general.c
index 2acc4da9b8..e2ce639ece 100644
--- a/clients/cli/general.c
+++ b/clients/cli/general.c
@@ -23,7 +23,7 @@
#include <stdlib.h>
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-client-utils.h"
diff --git a/clients/cli/settings.c b/clients/cli/settings.c
index 70348dbfec..2446cb0856 100644
--- a/clients/cli/settings.c
+++ b/clients/cli/settings.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include <arpa/inet.h>
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-client-utils.h"
#include "nm-vpn-helpers.h"
diff --git a/clients/common/meson.build b/clients/common/meson.build
index c137d4463e..fed0f3bf81 100644
--- a/clients/common/meson.build
+++ b/clients/common/meson.build
@@ -4,7 +4,7 @@ nm_polkit_listener = files('nm-polkit-listener.c')
deps = [
libnm_dep,
- nm_core_dep,
+ shared_nm_libnm_core_aux_dep,
]
cflags = clients_cflags + [
@@ -55,7 +55,7 @@ libnmc = static_library(
sources: files(
'nm-meta-setting-access.c',
'nm-meta-setting-desc.c',
- ) + shared_nm_meta_setting_c + shared_nm_ethtool_utils_c + shared_nm_libnm_core_utils_c + [settings_docs_source],
+ ) + shared_nm_meta_setting_c + [settings_docs_source],
dependencies: deps,
c_args: cflags,
link_with: libnmc_base,
diff --git a/clients/common/nm-client-utils.h b/clients/common/nm-client-utils.h
index fd726ee93c..08a39f03c0 100644
--- a/clients/common/nm-client-utils.h
+++ b/clients/common/nm-client-utils.h
@@ -23,7 +23,7 @@
#include "nm-meta-setting.h"
#include "nm-active-connection.h"
#include "nm-device.h"
-#include "nm-libnm-core-utils.h"
+#include "nm-libnm-core-intern/nm-libnm-core-utils.h"
const NMObject **nmc_objects_sort_by_path (const NMObject *const*objs, gssize len);
diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c
index 3efd142e1e..698ded869e 100644
--- a/clients/common/nm-meta-setting-desc.c
+++ b/clients/common/nm-meta-setting-desc.c
@@ -24,10 +24,10 @@
#include <stdlib.h>
#include <arpa/inet.h>
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-glib-aux/nm-enum-utils.h"
#include "nm-glib-aux/nm-secret-utils.h"
-#include "nm-libnm-core-utils.h"
+#include "nm-libnm-core-intern/nm-libnm-core-utils.h"
#include "nm-vpn-helpers.h"
#include "nm-client-utils.h"
diff --git a/clients/common/nm-meta-setting-desc.h b/clients/common/nm-meta-setting-desc.h
index afb6c55f0f..b69a07b503 100644
--- a/clients/common/nm-meta-setting-desc.h
+++ b/clients/common/nm-meta-setting-desc.h
@@ -22,7 +22,7 @@
#include "nm-glib-aux/nm-obj.h"
#include "nm-meta-setting.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
struct _NMDevice;
diff --git a/clients/tui/nmt-mac-entry.c b/clients/tui/nmt-mac-entry.c
index 70c8c30796..6c775bc53c 100644
--- a/clients/tui/nmt-mac-entry.c
+++ b/clients/tui/nmt-mac-entry.c
@@ -30,7 +30,7 @@
#include "nmt-mac-entry.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
G_DEFINE_TYPE (NmtMacEntry, nmt_mac_entry, NMT_TYPE_NEWT_ENTRY)
diff --git a/dispatcher/nm-dispatcher-utils.c b/dispatcher/nm-dispatcher-utils.c
index dee00612d7..f56ba38fd5 100644
--- a/dispatcher/nm-dispatcher-utils.c
+++ b/dispatcher/nm-dispatcher-utils.c
@@ -28,7 +28,7 @@
#include "nm-setting-ip6-config.h"
#include "nm-setting-connection.h"
-#include "nm-dispatcher-api.h"
+#include "nm-libnm-core-aux/nm-dispatcher-api.h"
#include "nm-utils.h"
/*****************************************************************************/
diff --git a/dispatcher/nm-dispatcher.c b/dispatcher/nm-dispatcher.c
index d395942a38..fe6eaa17ad 100644
--- a/dispatcher/nm-dispatcher.c
+++ b/dispatcher/nm-dispatcher.c
@@ -31,7 +31,7 @@
#include <arpa/inet.h>
#include <glib-unix.h>
-#include "nm-dispatcher-api.h"
+#include "nm-libnm-core-aux/nm-dispatcher-api.h"
#include "nm-dispatcher-utils.h"
#include "nmdbus-dispatcher.h"
diff --git a/dispatcher/tests/test-dispatcher-envp.c b/dispatcher/tests/test-dispatcher-envp.c
index ff9b5f03c2..cdc3e6b25b 100644
--- a/dispatcher/tests/test-dispatcher-envp.c
+++ b/dispatcher/tests/test-dispatcher-envp.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include "nm-dispatcher-utils.h"
-#include "nm-dispatcher-api.h"
+#include "nm-libnm-core-aux/nm-dispatcher-api.h"
#include "nm-utils/nm-test-utils.h"
diff --git a/libnm-core/meson.build b/libnm-core/meson.build
index 730444fe60..d63b702417 100644
--- a/libnm-core/meson.build
+++ b/libnm-core/meson.build
@@ -139,6 +139,48 @@ libnm_core_enum = gnome.mkenums(
install_dir: libnm_pkgincludedir,
)
+libnm_core_enum_dep = declare_dependency(
+ sources: libnm_core_enum[1],
+)
+
+###############################################################################
+
+shared_nm_libnm_core_intern = static_library(
+ 'nm-libnm-core-intern',
+ sources: files('../shared/nm-libnm-core-intern/nm-ethtool-utils.c',
+ '../shared/nm-libnm-core-intern/nm-libnm-core-utils.c'),
+ c_args: [
+ '-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
+ '-DNETWORKMANAGER_COMPILATION=NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE',
+ ],
+ include_directories: [
+ top_inc,
+ shared_inc,
+ libnm_core_inc,
+ ],
+ dependencies: [
+ glib_dep,
+ shared_c_siphash_dep,
+ shared_nm_glib_aux_dep,
+ libnm_core_enum_dep,
+ ],
+)
+
+shared_nm_libnm_core_intern_dep = declare_dependency(
+ link_with: shared_nm_libnm_core_intern,
+ include_directories: [
+ top_inc,
+ shared_inc,
+ ],
+ dependencies: [
+ glib_dep,
+ shared_nm_glib_aux_dep,
+ libnm_systemd_shared_dep,
+ ],
+)
+
+###############################################################################
+
deps = [
dl_dep,
libudev_dep,
@@ -147,6 +189,7 @@ deps = [
shared_c_siphash_dep,
shared_nm_glib_aux_dep,
shared_nm_udev_aux_dep,
+ shared_nm_libnm_core_intern_dep,
]
cflags = [
@@ -188,8 +231,6 @@ endif
libnm_core_sources_all = libnm_core_sources
libnm_core_sources_all += libnm_core_enum
libnm_core_sources_all += shared_nm_meta_setting_c
-libnm_core_sources_all += shared_nm_ethtool_utils_c
-libnm_core_sources_all += shared_nm_libnm_core_utils_c
libnm_core_sources_all += [version_header]
libnm_core = static_library(
@@ -204,12 +245,50 @@ nm_core_dep = declare_dependency(
sources: libnm_core_enum[1],
include_directories: libnm_core_inc,
dependencies: [
+ shared_nm_libnm_core_intern_dep,
shared_nm_glib_aux_dep,
shared_c_siphash_dep,
libnm_systemd_shared_dep,
],
)
+###############################################################################
+
+shared_nm_libnm_core_aux = static_library(
+ 'nm-libnm-core-aux',
+ sources: files('../shared/nm-libnm-core-aux/nm-dispatcher-api.h'),
+ c_args: [
+ '-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
+ '-DNETWORKMANAGER_COMPILATION=(NM_NETWORKMANAGER_COMPILATION_WITH_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_LIB)',
+ ],
+ include_directories: [
+ top_inc,
+ shared_inc,
+ libnm_core_inc,
+ ],
+ dependencies: [
+ glib_dep,
+ shared_c_siphash_dep,
+ shared_nm_glib_aux_dep,
+ ],
+)
+
+shared_nm_libnm_core_aux_dep = declare_dependency(
+ link_with: shared_nm_libnm_core_aux,
+ include_directories: [
+ top_inc,
+ shared_inc,
+ ],
+ dependencies: [
+ nm_core_dep,
+ glib_dep,
+ shared_nm_glib_aux_dep,
+ libnm_systemd_shared_dep,
+ ],
+)
+
+###############################################################################
+
enums_to_docbook = join_paths(meson.source_root(), 'tools', 'enums-to-docbook.pl')
docbooks = [
@@ -234,6 +313,8 @@ foreach docbook: docbooks
content_files += xml.full_path()
endforeach
+###############################################################################
+
if enable_tests
subdir('tests')
endif
diff --git a/libnm-core/nm-core-internal.h b/libnm-core/nm-core-internal.h
index 95ec86a059..966a4ada9c 100644
--- a/libnm-core/nm-core-internal.h
+++ b/libnm-core/nm-core-internal.h
@@ -88,7 +88,7 @@
#include "nm-utils.h"
#include "nm-vpn-dbus-interface.h"
#include "nm-vpn-editor-plugin.h"
-#include "nm-libnm-core-utils.h"
+#include "nm-libnm-core-intern/nm-libnm-core-utils.h"
/* IEEE 802.1D-1998 timer values */
#define NM_BR_MIN_HELLO_TIME 1
diff --git a/libnm-core/nm-keyfile.c b/libnm-core/nm-keyfile.c
index aadf8890ae..6fb0099e85 100644
--- a/libnm-core/nm-keyfile.c
+++ b/libnm-core/nm-keyfile.c
@@ -33,7 +33,7 @@
#include "nm-glib-aux/nm-secret-utils.h"
#include "systemd/nm-sd-utils-shared.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-core-internal.h"
#include "nm-keyfile-utils.h"
diff --git a/libnm-core/nm-setting-ethtool.c b/libnm-core/nm-setting-ethtool.c
index 7bdbcb1a22..827e3a6287 100644
--- a/libnm-core/nm-setting-ethtool.c
+++ b/libnm-core/nm-setting-ethtool.c
@@ -24,7 +24,7 @@
#include "nm-setting-ethtool.h"
#include "nm-setting-private.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
/*****************************************************************************/
diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c
index f07504aa3e..8a220ad811 100644
--- a/libnm-core/nm-setting-vlan.c
+++ b/libnm-core/nm-setting-vlan.c
@@ -25,7 +25,7 @@
#include <stdlib.h>
-#include "nm-libnm-core-utils.h"
+#include "nm-libnm-core-intern/nm-libnm-core-utils.h"
#include "nm-utils.h"
#include "nm-core-types-internal.h"
#include "nm-setting-connection.h"
diff --git a/libnm-core/nm-setting-wifi-p2p.c b/libnm-core/nm-setting-wifi-p2p.c
index da97872037..490c2ef949 100644
--- a/libnm-core/nm-setting-wifi-p2p.c
+++ b/libnm-core/nm-setting-wifi-p2p.c
@@ -24,7 +24,7 @@
#include <net/ethernet.h>
#include "nm-utils.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-utils-private.h"
#include "nm-setting-private.h"
diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c
index 7f0843046d..182e719302 100644
--- a/libnm-core/nm-setting-wired.c
+++ b/libnm-core/nm-setting-wired.c
@@ -27,7 +27,7 @@
#include <net/ethernet.h>
#include "nm-utils.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-utils-private.h"
#include "nm-setting-private.h"
diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c
index b4cb105607..d8056c6c59 100644
--- a/libnm-core/nm-setting-wireless.c
+++ b/libnm-core/nm-setting-wireless.c
@@ -27,7 +27,7 @@
#include <net/ethernet.h>
#include "nm-utils.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-utils-private.h"
#include "nm-setting-private.h"
diff --git a/libnm-core/nm-utils.c b/libnm-core/nm-utils.c
index 3dab93e0aa..3238c12345 100644
--- a/libnm-core/nm-utils.c
+++ b/libnm-core/nm-utils.c
@@ -40,7 +40,7 @@
#include "nm-glib-aux/nm-enum-utils.h"
#include "nm-glib-aux/nm-secret-utils.h"
#include "systemd/nm-sd-utils-shared.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-utils-private.h"
#include "nm-setting-private.h"
#include "nm-crypto.h"
diff --git a/libnm-core/tests/test-general.c b/libnm-core/tests/test-general.c
index f7f8fc6732..a6abf39160 100644
--- a/libnm-core/tests/test-general.c
+++ b/libnm-core/tests/test-general.c
@@ -64,7 +64,7 @@
#include "nm-simple-connection.h"
#include "nm-keyfile-internal.h"
#include "nm-glib-aux/nm-dedup-multi.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "test-general-enums.h"
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index 7a169863eb..509586e02d 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -25,7 +25,7 @@
#include "nm-utils.h"
#include "nm-checkpoint.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-device-ethernet.h"
#include "nm-device-wifi.h"
#include "nm-core-internal.h"
diff --git a/shared/meson.build b/shared/meson.build
index 8a47eb5b97..380758f00f 100644
--- a/shared/meson.build
+++ b/shared/meson.build
@@ -99,10 +99,6 @@ version_header = configure_file(
configuration: version_conf,
)
-shared_nm_ethtool_utils_c = files('nm-ethtool-utils.c')
-
-shared_nm_libnm_core_utils_c = files('nm-libnm-core-utils.c')
-
shared_nm_meta_setting_c = files('nm-meta-setting.c')
shared_nm_test_utils_impl_c = files('nm-test-utils-impl.c')
@@ -204,24 +200,6 @@ shared_nm_udev_aux_dep = declare_dependency(
###############################################################################
-test_shared_general = executable(
- 'nm-utils/tests/test-shared-general',
- [ 'nm-utils/tests/test-shared-general.c', ],
- c_args: [
- '-DNETWORKMANAGER_COMPILATION_TEST',
- '-DNETWORKMANAGER_COMPILATION=(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_PROG)',
- ],
- dependencies: shared_nm_glib_aux_dep,
- link_with: shared_c_siphash,
-)
-test(
- 'shared/nm-utils/test-shared-general',
- test_script,
- args: test_args + [test_shared_general.full_path()]
-)
-
-###############################################################################
-
libnm_systemd_shared = static_library(
'nm-systemd-shared',
sources: files(
@@ -306,3 +284,21 @@ libnm_systemd_shared_no_logging_dep = declare_dependency(
libnm_systemd_logging_stub,
],
)
+
+###############################################################################
+
+test_shared_general = executable(
+ 'nm-utils/tests/test-shared-general',
+ [ 'nm-utils/tests/test-shared-general.c', ],
+ c_args: [
+ '-DNETWORKMANAGER_COMPILATION_TEST',
+ '-DNETWORKMANAGER_COMPILATION=(NM_NETWORKMANAGER_COMPILATION_GLIB|NM_NETWORKMANAGER_COMPILATION_WITH_GLIB_I18N_PROG)',
+ ],
+ dependencies: shared_nm_glib_aux_dep,
+ link_with: shared_c_siphash,
+)
+test(
+ 'shared/nm-utils/test-shared-general',
+ test_script,
+ args: test_args + [test_shared_general.full_path()]
+)
diff --git a/shared/nm-dispatcher-api.h b/shared/nm-libnm-core-aux/nm-dispatcher-api.h
index b1f28e71d4..e6d0d92f85 100644
--- a/shared/nm-dispatcher-api.h
+++ b/shared/nm-libnm-core-aux/nm-dispatcher-api.h
@@ -18,6 +18,9 @@
* Copyright (C) 2008 - 2012 Red Hat, Inc.
*/
+#ifndef __NM_DISPACHER_API_H__
+#define __NM_DISPACHER_API_H__
+
#define NMD_SCRIPT_DIR_DEFAULT NMCONFDIR "/dispatcher.d"
#define NMD_SCRIPT_DIR_PRE_UP NMD_SCRIPT_DIR_DEFAULT "/pre-up.d"
#define NMD_SCRIPT_DIR_PRE_DOWN NMD_SCRIPT_DIR_DEFAULT "/pre-down.d"
@@ -59,3 +62,4 @@ typedef enum {
DISPATCH_RESULT_TIMEOUT = 4,
} DispatchResult;
+#endif /* __NM_DISPACHER_API_H__ */
diff --git a/shared/nm-common-macros.h b/shared/nm-libnm-core-intern/nm-common-macros.h
index f5aa3a1eaf..f5aa3a1eaf 100644
--- a/shared/nm-common-macros.h
+++ b/shared/nm-libnm-core-intern/nm-common-macros.h
diff --git a/shared/nm-ethtool-utils.c b/shared/nm-libnm-core-intern/nm-ethtool-utils.c
index 3313274ad1..3313274ad1 100644
--- a/shared/nm-ethtool-utils.c
+++ b/shared/nm-libnm-core-intern/nm-ethtool-utils.c
diff --git a/shared/nm-ethtool-utils.h b/shared/nm-libnm-core-intern/nm-ethtool-utils.h
index 5f22a9a06e..5f22a9a06e 100644
--- a/shared/nm-ethtool-utils.h
+++ b/shared/nm-libnm-core-intern/nm-ethtool-utils.h
diff --git a/shared/nm-libnm-core-utils.c b/shared/nm-libnm-core-intern/nm-libnm-core-utils.c
index d1e5f75460..d1e5f75460 100644
--- a/shared/nm-libnm-core-utils.c
+++ b/shared/nm-libnm-core-intern/nm-libnm-core-utils.c
diff --git a/shared/nm-libnm-core-utils.h b/shared/nm-libnm-core-intern/nm-libnm-core-utils.h
index 35d6c5ad5b..35d6c5ad5b 100644
--- a/shared/nm-libnm-core-utils.h
+++ b/shared/nm-libnm-core-intern/nm-libnm-core-utils.h
diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c
index 43b0663dc3..13cb1daedb 100644
--- a/src/NetworkManagerUtils.c
+++ b/src/NetworkManagerUtils.c
@@ -27,7 +27,7 @@
#include "nm-glib-aux/nm-c-list.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-utils.h"
#include "nm-setting-connection.h"
#include "nm-setting-ip4-config.h"
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 68cc951039..bd4fbcc37f 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -40,8 +40,8 @@
#include "nm-glib-aux/nm-dedup-multi.h"
#include "nm-glib-aux/nm-random-utils.h"
-#include "nm-ethtool-utils.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-device-private.h"
#include "NetworkManagerUtils.h"
#include "nm-manager.h"
diff --git a/src/devices/wifi/nm-device-iwd.c b/src/devices/wifi/nm-device-iwd.c
index 4a9503f312..da7d06855a 100644
--- a/src/devices/wifi/nm-device-iwd.c
+++ b/src/devices/wifi/nm-device-iwd.c
@@ -22,7 +22,7 @@
#include "nm-device-iwd.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "devices/nm-device.h"
#include "devices/nm-device-private.h"
#include "nm-utils.h"
diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c
index 6486967227..3a58c62031 100644
--- a/src/devices/wifi/nm-device-wifi.c
+++ b/src/devices/wifi/nm-device-wifi.c
@@ -28,7 +28,7 @@
#include "nm-device-wifi-p2p.h"
#include "nm-wifi-ap.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "devices/nm-device.h"
#include "devices/nm-device-private.h"
#include "nm-dbus-manager.h"
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index 7b9f2cc701..17568c30b5 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -22,7 +22,7 @@
#include "nm-active-connection.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-dbus-interface.h"
#include "devices/nm-device.h"
#include "settings/nm-settings-connection.h"
diff --git a/src/nm-dispatcher.c b/src/nm-dispatcher.c
index c0ef1bb6b0..d656edc844 100644
--- a/src/nm-dispatcher.c
+++ b/src/nm-dispatcher.c
@@ -23,7 +23,7 @@
#include "nm-dispatcher.h"
-#include "nm-dispatcher-api.h"
+#include "nm-libnm-core-aux/nm-dispatcher-api.h"
#include "NetworkManagerUtils.h"
#include "nm-utils.h"
#include "nm-connectivity.h"
diff --git a/src/nm-hostname-manager.c b/src/nm-hostname-manager.c
index d405a32016..3fcd848261 100644
--- a/src/nm-hostname-manager.c
+++ b/src/nm-hostname-manager.c
@@ -28,7 +28,7 @@
#include <selinux/selinux.h>
#endif
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-dbus-interface.h"
#include "nm-connection.h"
#include "nm-utils.h"
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 51065545f7..40e068ac5b 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -29,7 +29,7 @@
#include "nm-glib-aux/nm-c-list.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-dbus-manager.h"
#include "vpn/nm-vpn-manager.h"
#include "devices/nm-device.h"
diff --git a/src/platform/nm-platform-utils.c b/src/platform/nm-platform-utils.c
index 93cd0b3c8b..456871a78d 100644
--- a/src/platform/nm-platform-utils.c
+++ b/src/platform/nm-platform-utils.c
@@ -35,7 +35,7 @@
#include "nm-utils.h"
#include "nm-setting-wired.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "nm-core-utils.h"
diff --git a/src/platform/nm-platform-utils.h b/src/platform/nm-platform-utils.h
index bad77aee38..f5491679a2 100644
--- a/src/platform/nm-platform-utils.h
+++ b/src/platform/nm-platform-utils.h
@@ -23,7 +23,7 @@
#include "nm-platform.h"
#include "nm-setting-wired.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
/*****************************************************************************/
diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c
index 8924c39f42..814dee85a6 100644
--- a/src/settings/nm-agent-manager.c
+++ b/src/settings/nm-agent-manager.c
@@ -24,7 +24,7 @@
#include <pwd.h>
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-dbus-interface.h"
#include "nm-secret-agent.h"
#include "nm-auth-utils.h"
diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
index 8d1f95833f..3fdaa59814 100644
--- a/src/settings/nm-settings-connection.c
+++ b/src/settings/nm-settings-connection.c
@@ -25,7 +25,7 @@
#include "c-list/src/c-list.h"
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-config.h"
#include "nm-config-data.h"
#include "nm-dbus-interface.h"
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c
index 504e2e7867..8e18a33e0d 100644
--- a/src/settings/nm-settings.c
+++ b/src/settings/nm-settings.c
@@ -36,7 +36,7 @@
#include <selinux/selinux.h>
#endif
-#include "nm-common-macros.h"
+#include "nm-libnm-core-intern/nm-common-macros.h"
#include "nm-dbus-interface.h"
#include "nm-connection.h"
#include "nm-setting-8021x.h"
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
index 9763eec51f..e5423b181e 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c
@@ -53,7 +53,7 @@
#include "nm-setting-generic.h"
#include "nm-core-internal.h"
#include "nm-utils.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "platform/nm-platform.h"
#include "NetworkManagerUtils.h"
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
index 84c22094f3..c7729df50d 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h
@@ -22,7 +22,7 @@
#define _UTILS_H_
#include "nm-connection.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "shvar.h"
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index 7dd3cc40bd..80b1bffe1f 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -50,7 +50,7 @@
#include "nm-core-internal.h"
#include "NetworkManagerUtils.h"
#include "nm-meta-setting.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "nms-ifcfg-rh-common.h"
#include "nms-ifcfg-rh-reader.h"
diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
index ca280fbfec..49ab04d4db 100644
--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
+++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
@@ -49,7 +49,7 @@
#include "nm-setting-vlan.h"
#include "nm-setting-dcb.h"
#include "nm-core-internal.h"
-#include "nm-ethtool-utils.h"
+#include "nm-libnm-core-intern/nm-ethtool-utils.h"
#include "NetworkManagerUtils.h"