From a9408e34974b62e60b5e71fb975e09b7c5c82b7d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 9 Jun 2020 18:06:15 +0200 Subject: [PATCH] all: move "shared/nm-libnm-core-aux" to "libnm-core/nm-libnm-core-aux" Like the previous commit. Move code that depends on libnm-core out of shared to avoid circular dependency. Also add a readme file explaining the reason for existence of the helper libraries nm-libnm-core-intern and nm-libnm-core-aux. --- Makefile.am | 40 ++++++++++--------- docs/libnm/Makefile.am | 3 ++ docs/libnm/meson.build | 3 ++ libnm-core/meson.build | 4 +- libnm-core/nm-libnm-core-aux/README.md | 21 ++++++++++ .../nm-libnm-core-aux/nm-dispatcher-api.h | 0 .../nm-libnm-core-aux/nm-libnm-core-aux.c | 0 .../nm-libnm-core-aux/nm-libnm-core-aux.h | 0 libnm-core/nm-libnm-core-intern/README.md | 3 +- po/POTFILES.in | 2 +- shared/meson.build | 2 - 11 files changed, 54 insertions(+), 24 deletions(-) create mode 100644 libnm-core/nm-libnm-core-aux/README.md rename {shared => libnm-core}/nm-libnm-core-aux/nm-dispatcher-api.h (100%) rename {shared => libnm-core}/nm-libnm-core-aux/nm-libnm-core-aux.c (100%) rename {shared => libnm-core}/nm-libnm-core-aux/nm-libnm-core-aux.h (100%) diff --git a/Makefile.am b/Makefile.am index caa02d9a93..2f7dca7f31 100644 --- a/Makefile.am +++ b/Makefile.am @@ -496,9 +496,9 @@ EXTRA_DIST += libnm-core/nm-libnm-core-intern/README.md ############################################################################### -noinst_LTLIBRARIES += shared/nm-libnm-core-aux/libnm-libnm-core-aux.la +noinst_LTLIBRARIES += libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la -shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_CPPFLAGS = \ +libnm_core_nm_libnm_core_aux_libnm_libnm_core_aux_la_CPPFLAGS = \ $(dflt_cppflags) \ -I$(srcdir)/shared \ -I$(builddir)/shared \ @@ -511,22 +511,24 @@ shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_CPPFLAGS = \ -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 \ - shared/nm-libnm-core-aux/nm-libnm-core-aux.c \ - shared/nm-libnm-core-aux/nm-libnm-core-aux.h \ +libnm_core_nm_libnm_core_aux_libnm_libnm_core_aux_la_SOURCES = \ + libnm-core/nm-libnm-core-aux/nm-dispatcher-api.h \ + libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.c \ + libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.h \ $(NULL) -shared_nm_libnm_core_aux_libnm_libnm_core_aux_la_LDFLAGS = \ +libnm_core_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 = \ +libnm_core_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) +$(libnm_core_nm_libnm_core_aux_libnm_libnm_core_aux_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums) + +EXTRA_DIST += libnm-core/nm-libnm-core-aux/README.md ############################################################################### @@ -1222,7 +1224,7 @@ nodist_libnm_core_tests_test_general_SOURCES = \ $(NULL) libnm_core_tests_ldadd = \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-keyfile/libnm-keyfile.la \ libnm-core/libnm-core.la \ $(libnm_crypto_lib) \ @@ -1451,7 +1453,7 @@ nodist_libnm_liblibnm_la_SOURCES = \ $(NULL) libnm_liblibnm_la_LIBADD = \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/libnm-core.la \ $(libnm_crypto_lib) \ libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \ @@ -2306,7 +2308,7 @@ src_libNetworkManager_la_SOURCES = \ src_libNetworkManager_la_LIBADD = \ src/libNetworkManagerBase.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-keyfile/libnm-keyfile.la \ libnm-core/libnm-core.la \ $(libnm_crypto_lib) \ @@ -2397,7 +2399,7 @@ src_nm_iface_helper_SOURCES = \ src_nm_iface_helper_LDADD = \ src/libNetworkManagerBase.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-keyfile/libnm-keyfile.la \ libnm-core/libnm-core.la \ $(libnm_crypto_lib) \ @@ -2446,7 +2448,7 @@ src_initrd_nm_initrd_generator_SOURCES = \ src_initrd_nm_initrd_generator_LDADD = \ src/initrd/libnmi-core.la \ src/libNetworkManagerBase.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-keyfile/libnm-keyfile.la \ libnm-core/libnm-core.la \ $(libnm_crypto_lib) \ @@ -4434,7 +4436,7 @@ clients_common_tests_test_clients_common_LDFLAGS = \ clients_common_tests_test_clients_common_LDADD = \ clients/common/libnmc.la \ clients/common/libnmc-base.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \ shared/nm-glib-aux/libnm-glib-aux.la \ shared/nm-std-aux/libnm-std-aux.la \ @@ -4478,7 +4480,7 @@ clients_common_tests_test_libnm_core_aux_LDFLAGS = \ $(NULL) clients_common_tests_test_libnm_core_aux_LDADD = \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ shared/nm-glib-aux/libnm-glib-aux.la \ shared/nm-std-aux/libnm-std-aux.la \ shared/libcsiphash.la \ @@ -4525,7 +4527,7 @@ clients_cli_nmcli_CPPFLAGS = \ clients_cli_nmcli_LDADD = \ clients/common/libnmc.la \ clients/common/libnmc-base.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \ shared/nm-glib-aux/libnm-glib-aux.la \ shared/nm-std-aux/libnm-std-aux.la \ @@ -4726,7 +4728,7 @@ clients_tui_nmtui_LDADD = \ clients/common/libnmc.la \ clients/common/libnmc-base.la \ shared/nm-libnm-aux/libnm-libnm-aux.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \ shared/nm-glib-aux/libnm-glib-aux.la \ shared/nm-std-aux/libnm-std-aux.la \ @@ -4793,7 +4795,7 @@ clients_cloud_setup_nm_cloud_setup_LDFLAGS = \ clients_cloud_setup_nm_cloud_setup_LDADD = \ shared/nm-libnm-aux/libnm-libnm-aux.la \ - shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \ + libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \ libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \ shared/nm-glib-aux/libnm-glib-aux.la \ shared/nm-std-aux/libnm-std-aux.la \ diff --git a/docs/libnm/Makefile.am b/docs/libnm/Makefile.am index f02c2de4f1..e1a019b313 100644 --- a/docs/libnm/Makefile.am +++ b/docs/libnm/Makefile.am @@ -63,6 +63,9 @@ IGNORE_HFILES= \ nm-ethtool-utils.h \ nm-libnm-core-utils.h \ \ + nm-dispatcher-api.h \ + nm-libnm-core-aux.h \ + \ $(NULL) # Images to copy into HTML directory. diff --git a/docs/libnm/meson.build b/docs/libnm/meson.build index 460e3e224d..275522db2a 100644 --- a/docs/libnm/meson.build +++ b/docs/libnm/meson.build @@ -35,6 +35,9 @@ private_headers = [ 'nm-common-macros.h', 'nm-ethtool-utils.h', 'nm-libnm-core-utils.h', + + 'nm-dispatcher-api.h', + 'nm-libnm-core-aux.h', ] scan_args = [ diff --git a/libnm-core/meson.build b/libnm-core/meson.build index a5914519fb..89acaf72ad 100644 --- a/libnm-core/meson.build +++ b/libnm-core/meson.build @@ -225,7 +225,9 @@ c_flags = [ libnm_libnm_core_aux = static_library( 'nm-libnm-core-aux', - sources: nm_libnm_core_aux_source + [libnm_core_enum_sources[1]], + sources: files( + 'nm-libnm-core-aux/nm-libnm-core-aux.c', + ) + [libnm_core_enum_sources[1]], dependencies: libnm_utils_base_dep, c_args: c_flags, link_with: libnm_libnm_core_intern, diff --git a/libnm-core/nm-libnm-core-aux/README.md b/libnm-core/nm-libnm-core-aux/README.md new file mode 100644 index 0000000000..01f361b44d --- /dev/null +++ b/libnm-core/nm-libnm-core-aux/README.md @@ -0,0 +1,21 @@ +nm-libnm-core-aux is a static library that: + + - uses parts of "libnm-core", that are public API of "libnm" + - can be statically linked into users of libnm-core (like libnm + and NetworkManager). + - that can also be statically linked into other users of libnm. + +Basically, it is a static library with utility functions that extends +libnm-core (the part that is public API of libnm), but can also be +used without full libnm. + +That means: + + - you can use it everywhere where you either statically link + with libnm-core, or dynamically link with libnm. + - you cannot use it inside libnm-core itself. This is the difference + between nm-libnm-core-intern and nm-libnm-core-aux. + +Also, since nm-libnm-core-aux itself only uses public (stable) +API of libnm, you theoretically can copy the sources into your +own source tree. diff --git a/shared/nm-libnm-core-aux/nm-dispatcher-api.h b/libnm-core/nm-libnm-core-aux/nm-dispatcher-api.h similarity index 100% rename from shared/nm-libnm-core-aux/nm-dispatcher-api.h rename to libnm-core/nm-libnm-core-aux/nm-dispatcher-api.h diff --git a/shared/nm-libnm-core-aux/nm-libnm-core-aux.c b/libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.c similarity index 100% rename from shared/nm-libnm-core-aux/nm-libnm-core-aux.c rename to libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.c diff --git a/shared/nm-libnm-core-aux/nm-libnm-core-aux.h b/libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.h similarity index 100% rename from shared/nm-libnm-core-aux/nm-libnm-core-aux.h rename to libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.h diff --git a/libnm-core/nm-libnm-core-intern/README.md b/libnm-core/nm-libnm-core-intern/README.md index 284a82ed5f..2dcc3c80cd 100644 --- a/libnm-core/nm-libnm-core-intern/README.md +++ b/libnm-core/nm-libnm-core-intern/README.md @@ -13,7 +13,8 @@ That means: - you can use it everywhere where you either statically link with libnm-core, or dynamically link with libnm. - - you can even use it inside of libnm-core itself. + - you can even use it inside of libnm-core itself. This is the difference + between nm-libnm-core-intern and nm-libnm-core-aux. Also, since nm-libnm-core-intern itself only uses public (stable) API of libnm, you theoretically can copy the sources into your diff --git a/po/POTFILES.in b/po/POTFILES.in index b248eac726..25cb5c4a6c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -58,6 +58,7 @@ libnm-core/nm-connection.c libnm-core/nm-dbus-utils.c libnm-core/nm-keyfile/nm-keyfile-utils.c libnm-core/nm-keyfile/nm-keyfile.c +libnm-core/nm-libnm-core-aux/nm-libnm-core-aux.c libnm-core/nm-setting-6lowpan.c libnm-core/nm-setting-8021x.c libnm-core/nm-setting-adsl.c @@ -142,7 +143,6 @@ libnm/nm-vpn-plugin-old.c libnm/nm-vpn-service-plugin.c data/org.freedesktop.NetworkManager.policy.in.in shared/nm-glib-aux/nm-shared-utils.c -shared/nm-libnm-core-aux/nm-libnm-core-aux.c src/NetworkManagerUtils.c src/main.c src/main-utils.c diff --git a/shared/meson.build b/shared/meson.build index 7399e55118..32a0b23c3c 100644 --- a/shared/meson.build +++ b/shared/meson.build @@ -107,8 +107,6 @@ nm_version_macro_header = configure_file( configuration: data_conf, ) -nm_libnm_core_aux_source = files('nm-libnm-core-aux/nm-libnm-core-aux.c') - nm_libnm_aux_source = files('nm-libnm-aux/nm-libnm-aux.c') nm_meta_setting_source = files('nm-meta-setting.c')