all: move "shared/nm-libnm-core-intern" to "libnm-core/nm-libnm-core-intern"

The "shared" directory is used by libnm-core, it should thus only depend on
code that is in the "shared" directory. Otherwise there is a circular
dependency, and meson's subdir() does not work nicely.

Also, libnm-core is really part of (and also an extension of) libnm-core,
so it belongs there.

I guess, the original idea was that this is also an extension for libnm,
so another project could take these utility functions (by copying them
into their source tree) and use them. That is still possible, it's
just that the sources are no longer under the shared directory.

Also add a readme to explain the non-obvious meaning of these files.
This commit is contained in:
Thomas Haller 2020-06-09 18:06:15 +02:00
parent b760dee8c8
commit e17a067e68
No known key found for this signature in database
GPG Key ID: 29C2366E4DFC5728
13 changed files with 59 additions and 29 deletions

View File

@ -456,9 +456,9 @@ shared_nm_udev_aux_libnm_udev_aux_la_LIBADD = \
###############################################################################
noinst_LTLIBRARIES += shared/nm-libnm-core-intern/libnm-libnm-core-intern.la
noinst_LTLIBRARIES += libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la
shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_CPPFLAGS = \
libnm_core_nm_libnm_core_intern_libnm_libnm_core_intern_la_CPPFLAGS = \
$(dflt_cppflags) \
-I$(srcdir)/shared \
-I$(builddir)/shared \
@ -471,26 +471,28 @@ shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_CPPFLAGS = \
-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 \
shared/nm-libnm-core-intern/nm-auth-subject.c \
shared/nm-libnm-core-intern/nm-auth-subject.h \
libnm_core_nm_libnm_core_intern_libnm_libnm_core_intern_la_SOURCES = \
libnm-core/nm-libnm-core-intern/nm-auth-subject.c \
libnm-core/nm-libnm-core-intern/nm-auth-subject.h \
libnm-core/nm-libnm-core-intern/nm-common-macros.h \
libnm-core/nm-libnm-core-intern/nm-ethtool-utils.c \
libnm-core/nm-libnm-core-intern/nm-ethtool-utils.h \
libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.c \
libnm-core/nm-libnm-core-intern/nm-libnm-core-utils.h \
$(NULL)
shared_nm_libnm_core_intern_libnm_libnm_core_intern_la_LDFLAGS = \
libnm_core_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 = \
libnm_core_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)
$(libnm_core_nm_libnm_core_intern_libnm_libnm_core_intern_la_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
EXTRA_DIST += libnm-core/nm-libnm-core-intern/README.md
###############################################################################
@ -1224,7 +1226,7 @@ libnm_core_tests_ldadd = \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
libnm-core/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 \
@ -1452,7 +1454,7 @@ libnm_liblibnm_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 \
libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \
introspection/libnmdbus.la \
shared/nm-glib-aux/libnm-glib-aux.la \
shared/systemd/libnm-systemd-shared.la \
@ -2308,7 +2310,7 @@ src_libNetworkManager_la_LIBADD = \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
libnm-core/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 \
shared/nm-std-aux/libnm-std-aux.la \
@ -2399,7 +2401,7 @@ src_nm_iface_helper_LDADD = \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
libnm-core/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 \
shared/nm-std-aux/libnm-std-aux.la \
@ -2448,7 +2450,7 @@ src_initrd_nm_initrd_generator_LDADD = \
libnm-core/nm-keyfile/libnm-keyfile.la \
libnm-core/libnm-core.la \
$(libnm_crypto_lib) \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.la \
libnm-core/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 \
shared/nm-std-aux/libnm-std-aux.la \
@ -4433,7 +4435,7 @@ 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 \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.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 \
shared/libcsiphash.la \
@ -4524,7 +4526,7 @@ clients_cli_nmcli_LDADD = \
clients/common/libnmc.la \
clients/common/libnmc-base.la \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.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 \
shared/libcsiphash.la \
@ -4725,7 +4727,7 @@ clients_tui_nmtui_LDADD = \
clients/common/libnmc-base.la \
shared/nm-libnm-aux/libnm-libnm-aux.la \
shared/nm-libnm-core-aux/libnm-libnm-core-aux.la \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.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 \
shared/libcsiphash.la \
@ -4792,7 +4794,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 \
shared/nm-libnm-core-intern/libnm-libnm-core-intern.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 \
shared/libcsiphash.la \

View File

@ -58,6 +58,11 @@ IGNORE_HFILES= \
nm-keyfile-internal.h \
nm-keyfile-utils.h \
\
nm-auth-subject.h \
nm-common-macros.h \
nm-ethtool-utils.h \
nm-libnm-core-utils.h \
\
$(NULL)
# Images to copy into HTML directory.

View File

@ -30,6 +30,11 @@ private_headers = [
'nm-keyfile-internal.h',
'nm-keyfile-utils.h',
'nm-auth-subject.h',
'nm-common-macros.h',
'nm-ethtool-utils.h',
'nm-libnm-core-utils.h',
]
scan_args = [

View File

@ -88,7 +88,11 @@ libnm_core_enum_sources = gnome.mkenums_simple(
libnm_libnm_core_intern = static_library(
'nm-libnm-core-intern',
sources: nm_ethtool_utils_source + nm_libnm_core_utils_source + nm_auth_subject_source + [libnm_core_enum_sources[1]],
sources: files(
'nm-libnm-core-intern/nm-auth-subject.c',
'nm-libnm-core-intern/nm-ethtool-utils.c',
'nm-libnm-core-intern/nm-libnm-core-utils.c',
) + [libnm_core_enum_sources[1]],
dependencies: libnm_core_nm_default_dep,
c_args: common_c_flags,
)

View File

@ -0,0 +1,20 @@
nm-libnm-core-intern is a static library that:
- uses parts of "libnm-core", that are public API of "libnm"
- that is statically linked into libnm-core (and thus 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 it is used
by libnm-core.
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.
Also, since nm-libnm-core-intern itself only uses public (stable)
API of libnm, you theoretically can copy the sources into your
own source tree.

View File

@ -107,12 +107,8 @@ nm_version_macro_header = configure_file(
configuration: data_conf,
)
nm_ethtool_utils_source = files('nm-libnm-core-intern/nm-ethtool-utils.c')
nm_libnm_core_aux_source = files('nm-libnm-core-aux/nm-libnm-core-aux.c')
nm_libnm_core_utils_source = files('nm-libnm-core-intern/nm-libnm-core-utils.c')
nm_libnm_aux_source = files('nm-libnm-aux/nm-libnm-aux.c')
nm_meta_setting_source = files('nm-meta-setting.c')
@ -121,8 +117,6 @@ nm_test_utils_impl_source = files('nm-test-utils-impl.c')
nm_vpn_plugin_utils_source = files('nm-utils/nm-vpn-plugin-utils.c')
nm_auth_subject_source = files('nm-libnm-core-intern/nm-auth-subject.c')
c_flags = [
'-DG_LOG_DOMAIN="@0@"'.format(libnm_name),
'-DNETWORKMANAGER_COMPILATION=0',