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.
This commit is contained in:
Thomas Haller 2020-06-09 18:06:15 +02:00
parent e17a067e68
commit a9408e3497
No known key found for this signature in database
GPG Key ID: 29C2366E4DFC5728
11 changed files with 54 additions and 24 deletions

View File

@ -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 \

View File

@ -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.

View File

@ -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 = [

View File

@ -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,

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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')