From af07ed01c04867e281cc3982a7ab0d244d4f8e2e Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 15 Apr 2019 09:26:53 +0200 Subject: [PATCH] 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. --- Makefile.am | 117 ++++++++++++++---- clients/cli/general.c | 2 +- clients/cli/settings.c | 2 +- clients/common/meson.build | 4 +- clients/common/nm-client-utils.h | 2 +- clients/common/nm-meta-setting-desc.c | 4 +- clients/common/nm-meta-setting-desc.h | 2 +- clients/tui/nmt-mac-entry.c | 2 +- dispatcher/nm-dispatcher-utils.c | 2 +- dispatcher/nm-dispatcher.c | 2 +- dispatcher/tests/test-dispatcher-envp.c | 2 +- libnm-core/meson.build | 85 ++++++++++++- libnm-core/nm-core-internal.h | 2 +- libnm-core/nm-keyfile.c | 2 +- libnm-core/nm-setting-ethtool.c | 2 +- libnm-core/nm-setting-vlan.c | 2 +- libnm-core/nm-setting-wifi-p2p.c | 2 +- libnm-core/nm-setting-wired.c | 2 +- libnm-core/nm-setting-wireless.c | 2 +- libnm-core/nm-utils.c | 2 +- libnm-core/tests/test-general.c | 2 +- libnm/nm-manager.c | 2 +- shared/meson.build | 40 +++--- .../nm-dispatcher-api.h | 4 + .../nm-common-macros.h | 0 .../nm-ethtool-utils.c | 0 .../nm-ethtool-utils.h | 0 .../nm-libnm-core-utils.c | 0 .../nm-libnm-core-utils.h | 0 src/NetworkManagerUtils.c | 2 +- src/devices/nm-device.c | 4 +- src/devices/wifi/nm-device-iwd.c | 2 +- src/devices/wifi/nm-device-wifi.c | 2 +- src/nm-active-connection.c | 2 +- src/nm-dispatcher.c | 2 +- src/nm-hostname-manager.c | 2 +- src/nm-manager.c | 2 +- src/platform/nm-platform-utils.c | 2 +- src/platform/nm-platform-utils.h | 2 +- src/settings/nm-agent-manager.c | 2 +- src/settings/nm-settings-connection.c | 2 +- src/settings/nm-settings.c | 2 +- .../plugins/ifcfg-rh/nms-ifcfg-rh-reader.c | 2 +- .../plugins/ifcfg-rh/nms-ifcfg-rh-utils.h | 2 +- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 2 +- .../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 2 +- 46 files changed, 235 insertions(+), 91 deletions(-) rename shared/{ => nm-libnm-core-aux}/nm-dispatcher-api.h (96%) rename shared/{ => nm-libnm-core-intern}/nm-common-macros.h (100%) rename shared/{ => nm-libnm-core-intern}/nm-ethtool-utils.c (100%) rename shared/{ => nm-libnm-core-intern}/nm-ethtool-utils.h (100%) rename shared/{ => nm-libnm-core-intern}/nm-libnm-core-utils.c (100%) rename shared/{ => nm-libnm-core-intern}/nm-libnm-core-utils.h (100%) 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 -#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 #include -#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 #include -#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 #include -#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 #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 -#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 #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 #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 #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 similarity index 96% rename from shared/nm-dispatcher-api.h rename to 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 similarity index 100% rename from shared/nm-common-macros.h rename to 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 similarity index 100% rename from shared/nm-ethtool-utils.c rename to 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 similarity index 100% rename from shared/nm-ethtool-utils.h rename to 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 similarity index 100% rename from shared/nm-libnm-core-utils.c rename to 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 similarity index 100% rename from shared/nm-libnm-core-utils.h rename to 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 #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 -#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 #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"