2012-02-08 17:56:52 +00:00
|
|
|
include $(GLIB_MAKEFILE)
|
2016-10-14 13:54:40 +00:00
|
|
|
-include $(INTROSPECTION_MAKEFILE)
|
2016-10-18 12:01:56 +00:00
|
|
|
include Makefile.vapigen
|
2012-02-08 17:56:52 +00:00
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
@GNOME_CODE_COVERAGE_RULES@
|
|
|
|
|
2016-10-14 13:24:28 +00:00
|
|
|
@NM_LOG_COMPILER@
|
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-10-14 10:54:41 +00:00
|
|
|
AUTOMAKE_OPTIONS = subdir-objects
|
|
|
|
|
2016-10-14 10:13:50 +00:00
|
|
|
noinst_LTLIBRARIES =
|
2016-10-16 14:50:04 +00:00
|
|
|
check_LTLIBRARIES =
|
2016-10-14 13:24:28 +00:00
|
|
|
noinst_PROGRAMS =
|
2016-10-18 12:01:56 +00:00
|
|
|
noinst_LIBRARIES =
|
2016-10-16 14:50:04 +00:00
|
|
|
check_PROGRAMS =
|
2016-10-14 13:54:40 +00:00
|
|
|
noinst_DATA =
|
2016-10-15 16:25:13 +00:00
|
|
|
sbin_PROGRAMS =
|
2016-10-18 12:01:56 +00:00
|
|
|
bin_PROGRAMS =
|
2016-10-15 16:25:13 +00:00
|
|
|
libexec_PROGRAMS =
|
2018-05-21 15:06:09 +00:00
|
|
|
dist_libexec_SCRIPTS =
|
2016-10-14 13:54:40 +00:00
|
|
|
lib_LTLIBRARIES =
|
2018-03-18 19:38:49 +00:00
|
|
|
plugin_LTLIBRARIES =
|
2016-11-10 16:06:37 +00:00
|
|
|
core_plugins =
|
2016-10-18 12:01:56 +00:00
|
|
|
service_DATA =
|
2016-10-18 13:53:05 +00:00
|
|
|
man_MANS =
|
2016-10-18 12:01:56 +00:00
|
|
|
examples_DATA =
|
2016-10-14 10:13:50 +00:00
|
|
|
CLEANFILES =
|
2016-10-14 13:54:40 +00:00
|
|
|
DISTCLEANFILES =
|
2016-10-14 10:13:50 +00:00
|
|
|
EXTRA_DIST =
|
2017-04-04 08:31:07 +00:00
|
|
|
EXTRA_LTLIBRARIES =
|
2016-10-17 13:50:56 +00:00
|
|
|
dist_hook =
|
2016-11-15 09:50:19 +00:00
|
|
|
dist_dependencies =
|
|
|
|
dist_configure_check =
|
2016-10-18 12:01:56 +00:00
|
|
|
install_data_hook =
|
2016-10-18 12:01:56 +00:00
|
|
|
install_exec_hook =
|
2016-10-18 12:01:56 +00:00
|
|
|
uninstall_hook =
|
2016-10-14 13:54:40 +00:00
|
|
|
TESTS =
|
2016-10-14 10:13:50 +00:00
|
|
|
BUILT_SOURCES =
|
2016-10-14 10:54:41 +00:00
|
|
|
GLIB_GENERATED =
|
2016-10-18 13:53:05 +00:00
|
|
|
man_pages =
|
|
|
|
man_pages_autogen =
|
2016-10-16 14:50:04 +00:00
|
|
|
check_programs =
|
2016-10-18 07:36:53 +00:00
|
|
|
check_programs_norun =
|
2016-10-16 14:50:04 +00:00
|
|
|
check_ltlibraries =
|
2016-10-14 13:54:40 +00:00
|
|
|
check_local =
|
2016-10-18 12:01:56 +00:00
|
|
|
VAPIGEN_VAPIS =
|
2016-10-15 20:28:34 +00:00
|
|
|
dbusservice_DATA =
|
2016-10-18 12:01:56 +00:00
|
|
|
dbusactivation_DATA =
|
2019-11-21 14:27:21 +00:00
|
|
|
systemdsystemunit_DATA =
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
INTROSPECTION_GIRS =
|
|
|
|
INTROSPECTION_SCANNER_ARGS =
|
|
|
|
INTROSPECTION_COMPILER_ARGS =
|
|
|
|
# Pass SANITIZER_ENV where a command that uses built libraries is
|
|
|
|
# executed, to suppress possible errors
|
2018-02-07 10:10:31 +00:00
|
|
|
INTROSPECTION_SCANNER_ENV = $(SANITIZER_ENV) LDFLAGS="$(SANITIZER_LIB_LDFLAGS)"
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
libnmincludedir = $(includedir)/libnm
|
|
|
|
libnminclude_HEADERS =
|
2016-11-15 13:35:48 +00:00
|
|
|
nodist_libnminclude_HEADERS =
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
|
|
pkgconfig_DATA =
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-10-15 20:13:28 +00:00
|
|
|
pppd_plugindir = $(PPPD_PLUGIN_DIR)
|
|
|
|
pppd_plugin_LTLIBRARIES =
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
vapidir = $(datadir)/vala/vapi
|
|
|
|
vapi_DATA =
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
examplesdir = $(docdir)/examples
|
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
rundir=$(runstatedir)/NetworkManager
|
|
|
|
statedir=$(localstatedir)/lib/NetworkManager
|
|
|
|
|
2018-03-18 19:38:49 +00:00
|
|
|
plugindir=$(pkglibdir)/$(NM_DIST_VERSION)
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
dbusactivationdir = $(datadir)/dbus-1/system-services
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
servicedir = $(datadir)/dbus-1/system-services
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
completiondir = $(datadir)/bash-completion/completions
|
|
|
|
|
2018-05-30 08:51:23 +00:00
|
|
|
nmlocaledir = $(datadir)/locale
|
|
|
|
|
introspection: avoid compiler warning in generated introspection files
Disable "-Wincompatible-pointer-types-discards-qualifiers" warning, as
this breaks build of the gdbus-codegen files.
With glib2-2.67.0-1.fc34.x86_64.rpm, clang-11.0.0-2.fc34.x86_64.rpm, we
get a failure to build generated code:
introspection/org.freedesktop.NetworkManager.AccessPoint.c:438:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_INTERFACE (NMDBusAccessPoint, nmdbus_access_point, G_TYPE_OBJECT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1784:47: note: expanded from macro 'G_DEFINE_INTERFACE'
#define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1803:61: note: expanded from macro 'G_DEFINE_INTERFACE_WITH_CODE'
#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2042:7: note: expanded from macro '_G_DEFINE_INTERFACE_EXTENDED_BEGIN'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:944:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointProxy, nmdbus_access_point_proxy, G_TYPE_DBUS_PROXY,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:1729:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointSkeleton, nmdbus_access_point_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
2020-11-02 08:12:10 +00:00
|
|
|
INTROSPECTION_EXTRA_CFLAGS = -Wno-incompatible-pointer-types-discards-qualifiers
|
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM
|
|
|
|
GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM
|
|
|
|
|
2010-02-18 18:17:08 +00:00
|
|
|
SUBDIRS = \
|
2013-04-26 20:42:54 +00:00
|
|
|
. \
|
2016-11-16 11:00:11 +00:00
|
|
|
po
|
|
|
|
|
build: combine handling of setting docs and man pages
Building the man pages via xsltproc requires "docbook.xsl"
which is part of docbook.
Previously, we would build the man pages solely based on
"--enable-introspection", which checks for the presence of
xsltproc, but not docbook. This can lead to build failure
when docbook is not available, but "--enable-introspection"
is given.
Instead of adding yet another configure option to fine-tune
and say "--with-docbook --disable-gtk-doc", just simplify it.
Now, documentation (both man pages and setting docs) will be generated
with "--enable-gtk-doc" and "--enable-introspection".
If the documentation is not about to be generated, pre-generated docs
will be installed if they are available. That is commonly the case
with a source tarball, but not with a git checkout.
Finally, if documentation is nither generated nor pre-generated,
no documentation will be installed *duh*.
This removes the possibility to treat man pages separate from settings
docs. Now you either generate both, install both pre-generated, or don't
get any of them.
https://bugzilla.gnome.org/show_bug.cgi?id=778551
2017-02-13 15:26:20 +00:00
|
|
|
if HAVE_DOCS
|
2016-11-16 11:00:11 +00:00
|
|
|
|
|
|
|
SUBDIRS += \
|
2016-10-18 13:53:05 +00:00
|
|
|
docs/libnm \
|
|
|
|
docs/api
|
|
|
|
|
2016-11-16 11:00:11 +00:00
|
|
|
endif
|
|
|
|
|
2018-12-28 15:16:30 +00:00
|
|
|
dflt_cppflags = -std=gnu11
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2019-06-17 11:41:05 +00:00
|
|
|
include config-extra.h.mk
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
|
|
|
|
DISTCLEANFILES += config-extra.h
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
$(src_libnm_core_public_mkenums_c): config-extra.h
|
2022-03-18 17:12:54 +00:00
|
|
|
$(src_libnm_core_public_mkenums_h): config-extra.h
|
|
|
|
src/core/dhcp/.dirstamp: config-extra.h
|
|
|
|
src/libnm-base/.dirstamp: config-extra.h
|
|
|
|
src/libnm-client-public/.dirstamp: config-extra.h
|
|
|
|
src/libnm-client-public/.dirstamp: config-extra.h
|
2021-02-19 11:31:57 +00:00
|
|
|
src/libnm-core-impl/.dirstamp: config-extra.h
|
|
|
|
src/libnm-core-impl/.dirstamp: config-extra.h
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-crypto/.dirstamp: config-extra.h
|
2021-02-19 11:31:57 +00:00
|
|
|
src/libnm-glib-aux/.dirstamp: config-extra.h
|
|
|
|
src/libnm-glib-aux/tests/.dirstamp: config-extra.h
|
2021-03-22 16:35:34 +00:00
|
|
|
src/libnm-log-core/.dirstamp: config-extra.h
|
|
|
|
src/libnm-log-null/.dirstamp: config-extra.h
|
2021-02-19 11:31:57 +00:00
|
|
|
src/libnm-platform/.dirstamp: config-extra.h
|
|
|
|
src/libnm-platform/tests/.dirstamp: config-extra.h
|
2021-03-15 12:14:10 +00:00
|
|
|
src/libnm-platform/wifi/.dirstamp: config-extra.h
|
|
|
|
src/libnm-platform/wpan/.dirstamp: config-extra.h
|
2021-02-19 11:31:57 +00:00
|
|
|
src/libnm-std-aux/.dirstamp: config-extra.h
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/.dirstamp: config-extra.h
|
|
|
|
src/libnm-systemd-shared/src/basic/.dirstamp: config-extra.h
|
2021-04-12 13:45:50 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/.dirstamp: config-extra.h
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/shared/.dirstamp: config-extra.h
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-udev-aux/.dirstamp: config-extra.h
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
|
|
|
|
###############################################################################
|
2018-05-30 08:21:04 +00:00
|
|
|
|
2016-10-20 12:35:18 +00:00
|
|
|
set_sanitizer_env = \
|
|
|
|
[ -n "$(SANITIZER_ENV)" ] && export $(SANITIZER_ENV) ; \
|
2018-02-07 10:10:31 +00:00
|
|
|
if echo $(SANITIZER_LIB_CFLAGS) $(SANITIZER_EXEC_CFLAGS) | grep -e -fsanitize=address > /dev/null; then \
|
|
|
|
[ -n "$(1)" ] && export LD_PRELOAD="$${LD_PRELOAD}:$$(ldd $(1) | grep libasan\.so\.. -o | head -n 1)"; \
|
|
|
|
[ -n "$(2)" ] && export LD_PRELOAD="$${LD_PRELOAD}:$$(ldd $(2) | grep libasan\.so\.. -o | head -n 1)"; \
|
2016-10-20 12:35:18 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
check_so_symbols = \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
$(call set_sanitizer_env,$(1),$(builddir)/src/core/NetworkManager); \
|
|
|
|
LD_BIND_NOW=1 LD_PRELOAD=$${LD_PRELOAD}:$(1) $(builddir)/src/core/NetworkManager --version >/dev/null
|
2016-10-20 12:35:18 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
DISTCHECK_CONFIGURE_FLAGS = \
|
|
|
|
--enable-tests=yes \
|
|
|
|
--with-valgrind=no \
|
|
|
|
--enable-gtk-doc \
|
|
|
|
--enable-more-warnings=error \
|
|
|
|
--with-udev-dir=$$dc_install_base/lib/udev \
|
|
|
|
--with-wext=no \
|
|
|
|
--enable-ifcfg-rh \
|
|
|
|
--enable-ifupdown \
|
2018-10-24 19:43:07 +00:00
|
|
|
--disable-dependency-tracking \
|
|
|
|
$(NULL)
|
2016-10-13 11:39:30 +00:00
|
|
|
|
2016-11-15 09:50:19 +00:00
|
|
|
dist-configure-check:
|
2019-03-05 07:44:57 +00:00
|
|
|
@echo "*** 'make dist' requires '--enable-gtk-doc --enable-introspection'. ***"
|
2016-10-13 11:39:30 +00:00
|
|
|
@false
|
build: combine handling of setting docs and man pages
Building the man pages via xsltproc requires "docbook.xsl"
which is part of docbook.
Previously, we would build the man pages solely based on
"--enable-introspection", which checks for the presence of
xsltproc, but not docbook. This can lead to build failure
when docbook is not available, but "--enable-introspection"
is given.
Instead of adding yet another configure option to fine-tune
and say "--with-docbook --disable-gtk-doc", just simplify it.
Now, documentation (both man pages and setting docs) will be generated
with "--enable-gtk-doc" and "--enable-introspection".
If the documentation is not about to be generated, pre-generated docs
will be installed if they are available. That is commonly the case
with a source tarball, but not with a git checkout.
Finally, if documentation is nither generated nor pre-generated,
no documentation will be installed *duh*.
This removes the possibility to treat man pages separate from settings
docs. Now you either generate both, install both pre-generated, or don't
get any of them.
https://bugzilla.gnome.org/show_bug.cgi?id=778551
2017-02-13 15:26:20 +00:00
|
|
|
if !BUILD_DOCS
|
2016-11-15 09:50:19 +00:00
|
|
|
dist_configure_check += dist-configure-check
|
|
|
|
endif
|
2016-10-13 11:39:30 +00:00
|
|
|
|
2022-09-29 09:21:55 +00:00
|
|
|
# Gettext's Makefile has a race with parallel builds during dist.
|
|
|
|
# Hack around that.
|
|
|
|
# See also:
|
|
|
|
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1094#note_1435313
|
|
|
|
# https://lists.gnu.org/archive/html/bug-gettext/2022-06/msg00022.html
|
|
|
|
# https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1405
|
|
|
|
po/.Makefile.patched:
|
|
|
|
sed -i \
|
2022-10-28 10:20:41 +00:00
|
|
|
-e 's#^dist2: \$$(srcdir)/stamp-po \$$(DISTFILES)#dist2: \$$(srcdir)/stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
|
|
|
|
-e 's#^dist2: stamp-po \$$(DISTFILES)#dist2: stamp-po\n\t\$$(MAKE) \$$(DISTFILES)#' \
|
2022-09-29 09:21:55 +00:00
|
|
|
"$(builddir)/po/Makefile" && \
|
|
|
|
touch "$(builddir)/po/.Makefile.patched"
|
|
|
|
|
|
|
|
DISTCLEANFILES += po/.Makefile.patched
|
|
|
|
|
|
|
|
dist: po/.Makefile.patched
|
|
|
|
|
2016-11-15 09:50:19 +00:00
|
|
|
dist: $(dist_configure_check) $(dist_dependencies)
|
2016-10-13 11:39:30 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2019-11-22 14:39:25 +00:00
|
|
|
install-data-hook-dirs:
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/conf.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/system-connections
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dnsmasq.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dnsmasq-shared.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/conf.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/VPN
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/system-connections
|
|
|
|
$(mkinstalldirs) -m 0700 $(DESTDIR)$(nmstatedir)
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(plugindir)
|
|
|
|
|
|
|
|
install_data_hook += install-data-hook-dirs
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2019-11-21 14:27:21 +00:00
|
|
|
data_edit = sed \
|
|
|
|
-e 's|@NM_VERSION[@]|$(NM_VERSION)|g' \
|
|
|
|
-e 's|@bindir[@]|$(bindir)|g' \
|
|
|
|
-e 's|@sbindir[@]|$(sbindir)|g' \
|
|
|
|
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
|
|
|
-e 's|@nmrundir[@]|$(nmrundir)|g' \
|
|
|
|
-e 's|@nmstatedir[@]|$(nmstatedir)|g' \
|
|
|
|
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
|
|
|
-e 's|@libexecdir[@]|$(libexecdir)|g' \
|
|
|
|
-e 's|@DISTRO_NETWORK_SERVICE[@]|$(DISTRO_NETWORK_SERVICE)|g' \
|
|
|
|
-e 's|@NM_CONFIG_DEFAULT_MAIN_AUTH_POLKIT_TEXT[@]|$(NM_CONFIG_DEFAULT_MAIN_AUTH_POLKIT_TEXT)|g' \
|
|
|
|
-e 's|@NM_CONFIG_DEFAULT_LOGGING_BACKEND_TEXT[@]|$(NM_CONFIG_DEFAULT_LOGGING_BACKEND_TEXT)|g' \
|
|
|
|
-e 's|@NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT[@]|$(NM_CONFIG_DEFAULT_LOGGING_AUDIT_TEXT)|g' \
|
|
|
|
-e 's|@NM_CONFIG_DEFAULT_MAIN_RC_MANAGER[@]|$(NM_CONFIG_DEFAULT_MAIN_RC_MANAGER)|g' \
|
2021-12-03 01:34:10 +00:00
|
|
|
-e 's|@NM_CONFIG_DEFAULT_MAIN_DHCP[@]|$(NM_CONFIG_DEFAULT_MAIN_DHCP)|g' \
|
2023-07-24 12:20:04 +00:00
|
|
|
-e 's|@NM_CONFIG_DEFAULT_MAIN_MIGRATE_IFCFG_RH_TEXT[@]|$(NM_CONFIG_DEFAULT_MAIN_MIGRATE_IFCFG_RH_TEXT)|g' \
|
2021-12-03 01:34:10 +00:00
|
|
|
-e 's|@NM_CONFIG_DEFAULT_WIFI_BACKEND_TEXT[@]|$(NM_CONFIG_DEFAULT_WIFI_BACKEND_TEXT)|g'
|
2019-11-21 14:27:21 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-10-13 11:46:28 +00:00
|
|
|
polkit_policydir = $(datadir)/polkit-1/actions
|
|
|
|
|
|
|
|
dist_polkit_policy_in_in_files = \
|
2016-11-03 12:25:36 +00:00
|
|
|
data/org.freedesktop.NetworkManager.policy.in.in
|
2016-10-13 11:46:28 +00:00
|
|
|
|
build: stop relying on intltool for i18n
Recent gettext version can extract and merge back strings from and to
various file formats, no need for intltool anymore.
https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/133
https://github.com/NetworkManager/NetworkManager/pull/303
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/96
Clarification about the use of AM_GNU_GETTEXT_REQUIRE_VERSION:
In configure.ac, specify the minimum gettext version we require, rather
than the exact one. This fixes a situation where the autoconf macros
used for gettext will be the latest available on the system (for
example, 0.20); but the copied-in Makefile.in.in will be for the exact
version specified in configure.ac (in this case, 0.19).
In that situation, the gettext build rules will error out at `make` time
with the message:
*** error: gettext infrastructure mismatch: using a Makefile.in.in
from gettext version 0.19 but the autoconf macros are from gettext
version 0.20
Avoid that by specifying a minimum version dependency rather than an
exact one. This should not cause problems as we haven’t committed any
generated or external gettext files into git, so each developer will end
up regenerating the build system for their system’s version of gettext,
as expected.
See the subsection of
https://www.gnu.org/software/gettext/manual/html_node/Version-Control-Issues.html
for more information.
Note that autoreconf currently doesn’t recognise
AM_GNU_GETTEXT_REQUIRE_VERSION, so we must continue also using
AM_GNU_GETTEXT_VERSION. autopoint will ignore the latter if the former
is present. See
https://lists.gnu.org/archive/html/autoconf-patches/2015-10/msg00000.html.
[lkundrak@v3.sk: Fixed the meson build, adjusted autogen.sh:
droped "|| exit 1", dropped call to aclocal,
dropped --copy from gtkdocize.]
2021-03-31 08:52:03 +00:00
|
|
|
dist_polkit_policy_in_files = $(dist_polkit_policy_in_in_files:.policy.in.in=.policy.in)
|
|
|
|
|
|
|
|
polkit_policy_DATA = $(dist_polkit_policy_in_files:.policy.in=.policy)
|
2016-10-13 11:46:28 +00:00
|
|
|
|
build: stop relying on intltool for i18n
Recent gettext version can extract and merge back strings from and to
various file formats, no need for intltool anymore.
https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/133
https://github.com/NetworkManager/NetworkManager/pull/303
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/96
Clarification about the use of AM_GNU_GETTEXT_REQUIRE_VERSION:
In configure.ac, specify the minimum gettext version we require, rather
than the exact one. This fixes a situation where the autoconf macros
used for gettext will be the latest available on the system (for
example, 0.20); but the copied-in Makefile.in.in will be for the exact
version specified in configure.ac (in this case, 0.19).
In that situation, the gettext build rules will error out at `make` time
with the message:
*** error: gettext infrastructure mismatch: using a Makefile.in.in
from gettext version 0.19 but the autoconf macros are from gettext
version 0.20
Avoid that by specifying a minimum version dependency rather than an
exact one. This should not cause problems as we haven’t committed any
generated or external gettext files into git, so each developer will end
up regenerating the build system for their system’s version of gettext,
as expected.
See the subsection of
https://www.gnu.org/software/gettext/manual/html_node/Version-Control-Issues.html
for more information.
Note that autoreconf currently doesn’t recognise
AM_GNU_GETTEXT_REQUIRE_VERSION, so we must continue also using
AM_GNU_GETTEXT_VERSION. autopoint will ignore the latter if the former
is present. See
https://lists.gnu.org/archive/html/autoconf-patches/2015-10/msg00000.html.
[lkundrak@v3.sk: Fixed the meson build, adjusted autogen.sh:
droped "|| exit 1", dropped call to aclocal,
dropped --copy from gtkdocize.]
2021-03-31 08:52:03 +00:00
|
|
|
$(polkit_policy_DATA): $(dist_polkit_policy_in_files)
|
|
|
|
$(AM_V_GEN)$(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
|
2016-10-13 11:46:28 +00:00
|
|
|
|
|
|
|
DISTCLEANFILES += $(polkit_policy_DATA)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2019-04-14 10:00:29 +00:00
|
|
|
EXTRA_DIST += \
|
2022-11-23 17:00:35 +00:00
|
|
|
src/c-stdaux/src/c-stdaux-generic.h \
|
|
|
|
src/c-stdaux/src/c-stdaux-gnuc.h \
|
|
|
|
src/c-stdaux/src/c-stdaux-unix.h \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-stdaux/src/c-stdaux.h \
|
2019-04-14 10:00:29 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
noinst_LTLIBRARIES += src/c-siphash/libc-siphash.la
|
2018-11-03 08:09:33 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_siphash_libc_siphash_la_CFLAGS = \
|
2019-04-14 10:00:29 +00:00
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-std=c11 \
|
2021-02-19 11:31:57 +00:00
|
|
|
-I$(srcdir)/src/c-stdaux/src \
|
2019-04-14 10:00:29 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_siphash_libc_siphash_la_CPPFLAGS = \
|
2018-11-03 08:09:33 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_siphash_libc_siphash_la_LDFLAGS = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
2019-04-08 15:38:44 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_siphash_libc_siphash_la_SOURCES = \
|
|
|
|
src/c-siphash/src/c-siphash.c \
|
|
|
|
src/c-siphash/src/c-siphash.h \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2018-11-03 08:09:33 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
noinst_LTLIBRARIES += src/c-rbtree/libc-rbtree.la
|
2018-11-03 08:09:33 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_rbtree_libc_rbtree_la_CFLAGS = \
|
2018-12-28 15:16:30 +00:00
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-std=c11 \
|
2021-02-19 11:31:57 +00:00
|
|
|
-I$(srcdir)/src/c-stdaux/src \
|
2018-12-28 15:16:30 +00:00
|
|
|
$(NULL)
|
2018-11-03 08:09:33 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_rbtree_libc_rbtree_la_CPPFLAGS = \
|
2018-11-03 08:09:33 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_rbtree_libc_rbtree_la_LDFLAGS = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
2019-04-08 15:38:44 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_c_rbtree_libc_rbtree_la_SOURCES = \
|
|
|
|
src/c-rbtree/src/c-rbtree.c \
|
|
|
|
src/c-rbtree/src/c-rbtree.h \
|
|
|
|
src/c-rbtree/src/c-rbtree-private.h \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2018-11-03 08:09:33 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
noinst_LTLIBRARIES += src/n-acd/libn-acd.la
|
2018-11-03 08:09:33 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_CFLAGS = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-std=c11 \
|
|
|
|
-Wno-pointer-arith \
|
|
|
|
-Wno-vla \
|
|
|
|
$(NULL)
|
2018-11-03 08:09:33 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_CPPFLAGS = \
|
2018-11-03 08:09:33 +00:00
|
|
|
-D_GNU_SOURCE \
|
|
|
|
-DSO_ATTACH_BPF=50 \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
2021-02-19 11:31:57 +00:00
|
|
|
-I$(srcdir)/src/c-stdaux/src \
|
|
|
|
-I$(srcdir)/src/c-list/src \
|
|
|
|
-I$(srcdir)/src/c-siphash/src \
|
|
|
|
-I$(srcdir)/src/c-rbtree/src \
|
2018-11-03 08:09:33 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_LDFLAGS = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
2019-04-08 15:38:44 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_SOURCES = \
|
|
|
|
src/n-acd/src/n-acd.c \
|
|
|
|
src/n-acd/src/n-acd.h \
|
|
|
|
src/n-acd/src/n-acd-private.h \
|
|
|
|
src/n-acd/src/n-acd-probe.c \
|
|
|
|
src/n-acd/src/util/timer.c \
|
|
|
|
src/n-acd/src/util/timer.h \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2018-11-03 08:09:33 +00:00
|
|
|
|
|
|
|
if WITH_EBPF
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_SOURCES += src/n-acd/src/n-acd-bpf.c
|
2018-11-03 08:09:33 +00:00
|
|
|
else
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_acd_libn_acd_la_SOURCES += src/n-acd/src/n-acd-bpf-fallback.c
|
2018-11-03 08:09:33 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
noinst_LTLIBRARIES += src/n-dhcp4/libn-dhcp4.la
|
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_dhcp4_libn_dhcp4_la_CFLAGS = \
|
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
|
|
|
$(AM_CFLAGS) \
|
|
|
|
-std=c11 \
|
|
|
|
-Wno-error=declaration-after-statement \
|
|
|
|
-Wno-pointer-arith \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 11:31:57 +00:00
|
|
|
src_n_dhcp4_libn_dhcp4_la_CPPFLAGS = \
|
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
|
|
|
-D_GNU_SOURCE \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
2021-02-19 11:31:57 +00:00
|
|
|
-I$(srcdir)/src/c-stdaux/src \
|
|
|
|
-I$(srcdir)/src/c-list/src \
|
|
|
|
-I$(srcdir)/src/c-siphash/src \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_n_dhcp4_libn_dhcp4_la_LDFLAGS = \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_n_dhcp4_libn_dhcp4_la_SOURCES = \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-c-connection.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-c-lease.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-c-probe.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-client.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-incoming.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-outgoing.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-private.h \
|
|
|
|
src/n-dhcp4/src/n-dhcp4-socket.c \
|
|
|
|
src/n-dhcp4/src/n-dhcp4.h \
|
|
|
|
src/n-dhcp4/src/util/packet.c \
|
|
|
|
src/n-dhcp4/src/util/packet.h \
|
|
|
|
src/n-dhcp4/src/util/socket.c \
|
|
|
|
src/n-dhcp4/src/util/socket.h \
|
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-std-aux/libnm-std-aux.la
|
2019-04-14 11:36:32 +00:00
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_std_aux_libnm_std_aux_la_CPPFLAGS = \
|
2019-04-14 11:36:32 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2019-04-14 11:36:32 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_std_aux_libnm_std_aux_la_SOURCES = \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-list/src/c-list.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/c-list-util.c \
|
|
|
|
src/libnm-std-aux/c-list-util.h \
|
|
|
|
src/libnm-std-aux/nm-dbus-compat.h \
|
|
|
|
src/libnm-std-aux/nm-default-std.h \
|
2021-09-08 13:18:10 +00:00
|
|
|
src/libnm-std-aux/nm-linux-compat.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/nm-networkmanager-compilation.h \
|
|
|
|
src/libnm-std-aux/nm-std-aux.h \
|
|
|
|
src/libnm-std-aux/nm-std-utils.c \
|
|
|
|
src/libnm-std-aux/nm-std-utils.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-std-aux/unaligned-fundamental.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/unaligned.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_std_aux_libnm_std_aux_la_LDFLAGS = \
|
2019-04-14 11:36:32 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
EXTRA_DIST += src/libnm-std-aux/meson.build
|
|
|
|
|
2019-04-14 11:36:32 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_cppflags = \
|
2018-10-12 16:05:48 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2018-10-12 16:05:48 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
2018-10-12 16:05:48 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-glib-aux/libnm-glib-aux.la
|
|
|
|
|
|
|
|
src_libnm_glib_aux_libnm_glib_aux_la_CPPFLAGS = \
|
|
|
|
$(src_libnm_glib_aux_cppflags) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_glib_aux_libnm_glib_aux_la_SOURCES = \
|
|
|
|
src/libnm-glib-aux/nm-c-list.h \
|
|
|
|
src/libnm-glib-aux/nm-dbus-aux.c \
|
|
|
|
src/libnm-glib-aux/nm-dbus-aux.h \
|
|
|
|
src/libnm-glib-aux/nm-dedup-multi.c \
|
|
|
|
src/libnm-glib-aux/nm-dedup-multi.h \
|
|
|
|
src/libnm-glib-aux/nm-default-glib-i18n-lib.h \
|
|
|
|
src/libnm-glib-aux/nm-default-glib-i18n-prog.h \
|
|
|
|
src/libnm-glib-aux/nm-default-glib.h \
|
|
|
|
src/libnm-glib-aux/nm-enum-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-enum-utils.h \
|
|
|
|
src/libnm-glib-aux/nm-errno.c \
|
|
|
|
src/libnm-glib-aux/nm-errno.h \
|
|
|
|
src/libnm-glib-aux/nm-gassert-patch.h \
|
|
|
|
src/libnm-glib-aux/nm-glib.h \
|
|
|
|
src/libnm-glib-aux/nm-hash-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-hash-utils.h \
|
2022-08-19 10:34:58 +00:00
|
|
|
src/libnm-glib-aux/nm-inet-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-inet-utils.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/nm-io-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-io-utils.h \
|
|
|
|
src/libnm-glib-aux/nm-jansson.h \
|
|
|
|
src/libnm-glib-aux/nm-json-aux.c \
|
|
|
|
src/libnm-glib-aux/nm-json-aux.h \
|
|
|
|
src/libnm-glib-aux/nm-keyfile-aux.c \
|
|
|
|
src/libnm-glib-aux/nm-keyfile-aux.h \
|
|
|
|
src/libnm-glib-aux/nm-logging-base.c \
|
|
|
|
src/libnm-glib-aux/nm-logging-base.h \
|
|
|
|
src/libnm-glib-aux/nm-logging-fwd.h \
|
2021-02-24 07:11:13 +00:00
|
|
|
src/libnm-glib-aux/nm-logging-syslog.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/nm-macros-internal.h \
|
|
|
|
src/libnm-glib-aux/nm-obj.h \
|
2022-10-11 16:23:15 +00:00
|
|
|
src/libnm-glib-aux/nm-prioq.c \
|
|
|
|
src/libnm-glib-aux/nm-prioq.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/nm-random-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-random-utils.h \
|
|
|
|
src/libnm-glib-aux/nm-ref-string.c \
|
|
|
|
src/libnm-glib-aux/nm-ref-string.h \
|
|
|
|
src/libnm-glib-aux/nm-secret-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-secret-utils.h \
|
|
|
|
src/libnm-glib-aux/nm-shared-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-shared-utils.h \
|
|
|
|
src/libnm-glib-aux/nm-str-buf.h \
|
2021-02-19 13:51:13 +00:00
|
|
|
src/libnm-glib-aux/nm-test-utils.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/nm-time-utils.c \
|
|
|
|
src/libnm-glib-aux/nm-time-utils.h \
|
2021-05-02 07:39:07 +00:00
|
|
|
src/libnm-glib-aux/nm-uuid.c \
|
|
|
|
src/libnm-glib-aux/nm-uuid.h \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/nm-value-type.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_glib_aux_libnm_glib_aux_la_LDFLAGS = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_libnm_glib_aux_la_LIBADD = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
EXTRA_DIST += src/libnm-glib-aux/meson.build
|
|
|
|
|
2018-11-03 07:49:32 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-udev-aux/libnm-udev-aux.la
|
2018-11-03 07:49:32 +00:00
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_udev_aux_libnm_udev_aux_la_CPPFLAGS = \
|
2021-02-18 16:37:47 +00:00
|
|
|
$(src_libnm_glib_aux_cppflags) \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(LIBUDEV_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_udev_aux_libnm_udev_aux_la_SOURCES = \
|
|
|
|
src/libnm-udev-aux/nm-udev-utils.c \
|
|
|
|
src/libnm-udev-aux/nm-udev-utils.h \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_udev_aux_libnm_udev_aux_la_LDFLAGS = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_udev_aux_libnm_udev_aux_la_LIBADD = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(LIBUDEV_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
EXTRA_DIST += src/libnm-udev-aux/meson.build
|
|
|
|
|
2018-11-03 07:49:32 +00:00
|
|
|
###############################################################################
|
|
|
|
|
lldp: add libnm-lldp as fork of systemd's sd_lldp_rx
We currently use the systemd LLDP client, which we consume by forking
systemd code. That is a maintenance burden, because it's not a
self-contained, stable library that we use. Hence there is a need for an
individual library or properly integrating the fork in our tree.
Optimally, we would create a new nettools project with an LLDP library.
That was not done because:
- nettools may want to be dual licensed with LGPL-2.1+ and Apache.
Systemd code is LGPL-2.1+ so it is fine for NetworkManager but
possibly not for nettools.
- nettools provides independent librares, as such they don't have an
event loop, instead they expose an epoll file descriptor and the user
needs to integrate it. Systemd and NetworkManager on the other hand
have their established event loop (sd_event and GMainContext,
respectively). It's simpler to implement the library on those terms,
in particular porting the systemd library from sd_event to
GMainContext.
- NetworkManager uses glib and has various helper utils. While it's
possible to do without them, it's more work.
The main reason to not write a new NetworkManager-agnostic library from
scratch, is that it's much simpler to fork the systemd library and make
it part of NetworkManager, than making it a nettools library.
Do it.
2022-09-06 11:33:18 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-lldp/libnm-lldp.la
|
|
|
|
|
|
|
|
src_libnm_lldp_libnm_lldp_la_CFLAGS = \
|
|
|
|
$(src_libnm_glib_aux_cppflags) \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_lldp_libnm_lldp_la_CPPFLAGS = \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_lldp_libnm_lldp_la_LDFLAGS = \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_lldp_libnm_lldp_la_SOURCES = \
|
|
|
|
src/libnm-lldp/nm-lldp-neighbor.c \
|
|
|
|
src/libnm-lldp/nm-lldp-neighbor.h \
|
|
|
|
src/libnm-lldp/nm-lldp-network.c \
|
|
|
|
src/libnm-lldp/nm-lldp-network.h \
|
|
|
|
src/libnm-lldp/nm-lldp-rx-internal.h \
|
|
|
|
src/libnm-lldp/nm-lldp-rx.c \
|
|
|
|
src/libnm-lldp/nm-lldp-rx.h \
|
|
|
|
src/libnm-lldp/nm-lldp.h \
|
|
|
|
$(NULL)
|
|
|
|
|
2022-11-18 15:16:20 +00:00
|
|
|
EXTRA_DIST += src/libnm-lldp/meson.build
|
|
|
|
|
lldp: add libnm-lldp as fork of systemd's sd_lldp_rx
We currently use the systemd LLDP client, which we consume by forking
systemd code. That is a maintenance burden, because it's not a
self-contained, stable library that we use. Hence there is a need for an
individual library or properly integrating the fork in our tree.
Optimally, we would create a new nettools project with an LLDP library.
That was not done because:
- nettools may want to be dual licensed with LGPL-2.1+ and Apache.
Systemd code is LGPL-2.1+ so it is fine for NetworkManager but
possibly not for nettools.
- nettools provides independent librares, as such they don't have an
event loop, instead they expose an epoll file descriptor and the user
needs to integrate it. Systemd and NetworkManager on the other hand
have their established event loop (sd_event and GMainContext,
respectively). It's simpler to implement the library on those terms,
in particular porting the systemd library from sd_event to
GMainContext.
- NetworkManager uses glib and has various helper utils. While it's
possible to do without them, it's more work.
The main reason to not write a new NetworkManager-agnostic library from
scratch, is that it's much simpler to fork the systemd library and make
it part of NetworkManager, than making it a nettools library.
Do it.
2022-09-06 11:33:18 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-base/libnm-base.la
|
2021-01-09 11:00:33 +00:00
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_base_libnm_base_la_CPPFLAGS = \
|
2021-02-18 16:37:47 +00:00
|
|
|
$(src_libnm_glib_aux_cppflags) \
|
2021-02-18 07:13:35 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-01-09 11:00:33 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_base_libnm_base_la_SOURCES = \
|
2022-03-18 20:05:05 +00:00
|
|
|
src/libnm-base/nm-base.c \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/nm-base.h \
|
2021-03-09 08:14:21 +00:00
|
|
|
src/libnm-base/nm-config-base.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/nm-ethtool-base.c \
|
|
|
|
src/libnm-base/nm-ethtool-base.h \
|
|
|
|
src/libnm-base/nm-ethtool-utils-base.h \
|
2021-03-19 09:37:50 +00:00
|
|
|
src/libnm-base/nm-net-aux.c \
|
|
|
|
src/libnm-base/nm-net-aux.h \
|
2021-12-13 15:06:16 +00:00
|
|
|
src/libnm-base/nm-priv-helper-utils.c \
|
|
|
|
src/libnm-base/nm-priv-helper-utils.h \
|
2021-01-09 11:00:33 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_base_libnm_base_la_LDFLAGS = \
|
2021-01-09 11:00:33 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_base_libnm_base_la_LIBADD = \
|
2021-01-09 11:00:33 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
EXTRA_DIST += src/libnm-base/meson.build
|
|
|
|
|
2021-01-09 11:00:33 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-log-core/libnm-log-core.la
|
2020-12-30 16:32:10 +00:00
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_core_libnm_log_core_la_CPPFLAGS = \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SYSTEMD_JOURNAL_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_core_libnm_log_core_la_SOURCES = \
|
|
|
|
src/libnm-log-core/nm-logging.c \
|
|
|
|
src/libnm-log-core/nm-logging.h \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_core_libnm_log_core_la_LDFLAGS = \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_core_libnm_log_core_la_LIBADD = \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(SYSTEMD_JOURNAL_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
EXTRA_DIST += src/libnm-log-core/meson.build
|
|
|
|
|
|
|
|
noinst_LTLIBRARIES += src/libnm-log-null/libnm-log-null.la
|
2021-02-18 06:57:46 +00:00
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_null_libnm_log_null_la_CPPFLAGS = \
|
2021-02-18 06:57:46 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-18 06:57:46 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_null_libnm_log_null_la_SOURCES = \
|
|
|
|
src/libnm-log-null/nm-logging-null.c \
|
2021-02-18 06:57:46 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_log_null_libnm_log_null_la_LIBADD = \
|
2021-02-18 06:57:46 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
EXTRA_DIST += src/libnm-log-null/meson.build
|
|
|
|
|
2020-12-30 16:32:10 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-platform/libnm-platform.la
|
2020-12-25 15:35:47 +00:00
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_libnm_platform_la_CPPFLAGS = \
|
2021-02-18 16:37:47 +00:00
|
|
|
$(src_libnm_glib_aux_cppflags) \
|
2021-02-18 07:13:35 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_libnm_platform_la_SOURCES = \
|
2021-03-02 20:02:12 +00:00
|
|
|
\
|
2021-08-30 17:00:25 +00:00
|
|
|
src/linux-headers/ethtool.h \
|
2022-07-15 08:02:45 +00:00
|
|
|
src/linux-headers/mptcp.h \
|
|
|
|
src/linux-headers/nl802154.h \
|
2021-03-02 20:02:12 +00:00
|
|
|
\
|
2022-09-20 11:29:42 +00:00
|
|
|
src/nm-compat-headers/linux/if_addr.h \
|
|
|
|
\
|
2021-03-04 10:29:39 +00:00
|
|
|
src/libnm-platform/nm-linux-platform.c \
|
|
|
|
src/libnm-platform/nm-linux-platform.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/nm-netlink.c \
|
|
|
|
src/libnm-platform/nm-netlink.h \
|
2021-03-04 10:29:39 +00:00
|
|
|
src/libnm-platform/nm-platform-private.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/nm-platform-utils.c \
|
|
|
|
src/libnm-platform/nm-platform-utils.h \
|
2021-03-04 10:29:39 +00:00
|
|
|
src/libnm-platform/nm-platform.c \
|
|
|
|
src/libnm-platform/nm-platform.h \
|
2022-09-20 12:39:17 +00:00
|
|
|
src/libnm-platform/nmp-base.c \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/nmp-base.h \
|
2022-07-18 08:07:21 +00:00
|
|
|
src/libnm-platform/nmp-global-tracker.c \
|
|
|
|
src/libnm-platform/nmp-global-tracker.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/nmp-netns.c \
|
|
|
|
src/libnm-platform/nmp-netns.h \
|
2021-03-04 10:29:39 +00:00
|
|
|
src/libnm-platform/nmp-object.c \
|
|
|
|
src/libnm-platform/nmp-object.h \
|
2022-09-20 10:38:03 +00:00
|
|
|
src/libnm-platform/nmp-plobj.c \
|
|
|
|
src/libnm-platform/nmp-plobj.h \
|
2024-01-15 11:08:07 +00:00
|
|
|
src/libnm-platform/devlink/nm-devlink.c \
|
|
|
|
src/libnm-platform/devlink/nm-devlink.h \
|
2021-03-03 08:07:17 +00:00
|
|
|
src/libnm-platform/wifi/nm-wifi-utils-nl80211.c \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils-nl80211.h \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils-private.h \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils.c \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils.h \
|
|
|
|
src/libnm-platform/wpan/nm-wpan-utils.c \
|
|
|
|
src/libnm-platform/wpan/nm-wpan-utils.h \
|
2021-03-04 10:29:39 +00:00
|
|
|
\
|
2020-12-25 15:35:47 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-03 08:07:17 +00:00
|
|
|
if WITH_WEXT
|
|
|
|
src_libnm_platform_libnm_platform_la_SOURCES += \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils-wext.c \
|
|
|
|
src/libnm-platform/wifi/nm-wifi-utils-wext.h \
|
|
|
|
$(NULL)
|
|
|
|
endif
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_libnm_platform_la_LDFLAGS = \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_libnm_platform_la_LIBADD = \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
EXTRA_DIST += src/libnm-platform/meson.build
|
|
|
|
|
2020-12-25 15:35:47 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
check_programs += src/libnm-platform/tests/test-nm-platform
|
2020-12-25 15:35:47 +00:00
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_tests_test_nm_platform_CPPFLAGS = \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 07:13:35 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(SYSTEMD_JOURNAL_CFLAGS) \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_tests_test_nm_platform_LDFLAGS = \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_platform_tests_test_nm_platform_LDADD = \
|
|
|
|
src/libnm-platform/libnm-platform.la \
|
2021-08-30 16:48:31 +00:00
|
|
|
src/libnm-udev-aux/libnm-udev-aux.la \
|
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-log-core/libnm-log-core.la \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2020-12-30 16:32:10 +00:00
|
|
|
$(SYSTEMD_JOURNAL_LIBS) \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/tests/meson.build \
|
2020-12-25 15:35:47 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-core-aux-intern/libnm-core-aux-intern.la
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_intern_libnm_core_aux_intern_la_CPPFLAGS = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(builddir)/src \
|
|
|
|
-I$(srcdir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_intern_libnm_core_aux_intern_la_SOURCES = \
|
|
|
|
src/libnm-core-aux-intern/nm-auth-subject.c \
|
|
|
|
src/libnm-core-aux-intern/nm-auth-subject.h \
|
|
|
|
src/libnm-core-aux-intern/nm-common-macros.h \
|
|
|
|
src/libnm-core-aux-intern/nm-libnm-core-utils.c \
|
|
|
|
src/libnm-core-aux-intern/nm-libnm-core-utils.h \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_intern_libnm_core_aux_intern_la_LDFLAGS = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_intern_libnm_core_aux_intern_la_LIBADD = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_aux_intern_libnm_core_aux_intern_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2020-06-09 16:06:15 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-core-aux-intern/README.md \
|
|
|
|
src/libnm-core-aux-intern/meson.build \
|
|
|
|
$(NULL)
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-core-aux-extern/libnm-core-aux-extern.la
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_extern_libnm_core_aux_extern_la_CPPFLAGS = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_extern_libnm_core_aux_extern_la_SOURCES = \
|
|
|
|
src/libnm-core-aux-extern/nm-dispatcher-api.h \
|
|
|
|
src/libnm-core-aux-extern/nm-libnm-core-aux.c \
|
|
|
|
src/libnm-core-aux-extern/nm-libnm-core-aux.h \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_extern_libnm_core_aux_extern_la_LDFLAGS = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_aux_extern_libnm_core_aux_extern_la_LIBADD = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_aux_extern_libnm_core_aux_extern_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2020-06-09 16:06:15 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-core-aux-extern/README.md \
|
|
|
|
src/libnm-core-aux-extern/meson.build \
|
|
|
|
$(NULL)
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
|
|
|
|
###############################################################################
|
2019-12-06 12:40:39 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-client-aux-extern/libnm-client-aux-extern.la
|
2019-12-06 12:40:39 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_aux_extern_libnm_client_aux_extern_la_CPPFLAGS = \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_aux_extern_libnm_client_aux_extern_la_SOURCES = \
|
|
|
|
src/libnm-client-aux-extern/nm-libnm-aux.c \
|
|
|
|
src/libnm-client-aux-extern/nm-libnm-aux.h \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_aux_extern_libnm_client_aux_extern_la_LDFLAGS = \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_aux_extern_libnm_client_aux_extern_la_LIBADD = \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(GLIB_LIBS) \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2019-12-06 12:40:39 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_aux_extern_libnm_client_aux_extern_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_client_aux_extern_libnm_client_aux_extern_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2020-06-09 16:06:15 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-client-aux-extern/README.md \
|
|
|
|
src/libnm-client-aux-extern/meson.build \
|
2021-03-25 10:27:26 +00:00
|
|
|
src/libnm-client-aux-extern/tests/meson.build \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(NULL)
|
2019-12-06 12:40:39 +00:00
|
|
|
|
|
|
|
###############################################################################
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
check_programs += src/libnm-client-aux-extern/tests/test-libnm-client-aux
|
|
|
|
|
|
|
|
src_libnm_client_aux_extern_tests_test_libnm_client_aux_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_client_aux_extern_tests_test_libnm_client_aux_LDFLAGS = \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_client_aux_extern_tests_test_libnm_client_aux_LDADD = \
|
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-06-30 20:02:51 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
|
|
|
src/c-siphash/libc-siphash.la \
|
|
|
|
src/libnm-client-impl/libnm.la \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
$(src_libnm_client_aux_extern_tests_test_libnm_client_aux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_client_aux_extern_tests_test_libnm_client_aux_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-20 11:37:48 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-client-test/libnm-client-test.la
|
|
|
|
|
|
|
|
src_libnm_client_test_libnm_client_test_la_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_client_test_libnm_client_test_la_SOURCES = \
|
|
|
|
src/libnm-client-test/nm-test-libnm-utils.h \
|
|
|
|
src/libnm-client-test/nm-test-utils-impl.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_client_test_libnm_client_test_la_LDFLAGS = \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_client_test_libnm_client_test_la_LIBADD = \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
$(src_libnm_client_test_libnm_client_test_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_client_test_libnm_client_test_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
|
|
|
|
2019-08-22 09:04:01 +00:00
|
|
|
EXTRA_DIST += \
|
2021-02-20 11:37:48 +00:00
|
|
|
src/libnm-client-test/meson.build \
|
2019-08-22 09:04:01 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-20 11:37:48 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-glib-aux/tests/meson.build \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
check_programs += src/libnm-glib-aux/tests/test-shared-general
|
2018-11-03 07:49:32 +00:00
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_shared_general_CPPFLAGS = \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
2018-10-12 16:05:48 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_shared_general_LDFLAGS = \
|
2019-04-08 15:38:44 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_shared_general_LDADD = \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2018-10-12 16:05:48 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2020-07-01 18:19:52 +00:00
|
|
|
if WITH_JANSSON
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
check_programs += src/libnm-glib-aux/tests/test-json-aux
|
2020-07-01 18:19:52 +00:00
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_json_aux_CPPFLAGS = \
|
2020-07-01 18:19:52 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2020-07-01 18:19:52 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(JANSSON_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_json_aux_LDFLAGS = \
|
2020-07-01 18:19:52 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 16:37:47 +00:00
|
|
|
src_libnm_glib_aux_tests_test_json_aux_LDADD = \
|
2020-07-01 18:19:52 +00:00
|
|
|
$(JANSSON_LIBS) \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2020-07-01 18:19:52 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2019-05-15 08:34:53 +00:00
|
|
|
noinst_LTLIBRARIES += introspection/libnmdbus.la
|
2016-10-14 10:13:50 +00:00
|
|
|
|
introspection: avoid compiler warning in generated introspection files
Disable "-Wincompatible-pointer-types-discards-qualifiers" warning, as
this breaks build of the gdbus-codegen files.
With glib2-2.67.0-1.fc34.x86_64.rpm, clang-11.0.0-2.fc34.x86_64.rpm, we
get a failure to build generated code:
introspection/org.freedesktop.NetworkManager.AccessPoint.c:438:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_INTERFACE (NMDBusAccessPoint, nmdbus_access_point, G_TYPE_OBJECT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1784:47: note: expanded from macro 'G_DEFINE_INTERFACE'
#define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1803:61: note: expanded from macro 'G_DEFINE_INTERFACE_WITH_CODE'
#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2042:7: note: expanded from macro '_G_DEFINE_INTERFACE_EXTENDED_BEGIN'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:944:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointProxy, nmdbus_access_point_proxy, G_TYPE_DBUS_PROXY,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:1729:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointSkeleton, nmdbus_access_point_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
2020-11-02 08:12:10 +00:00
|
|
|
introspection_libnmdbus_la_CPPFLAGS = \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(INTROSPECTION_EXTRA_CFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-15 10:07:51 +00:00
|
|
|
introspection_sources = \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.AccessPoint.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.AccessPoint.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.AgentManager.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.AgentManager.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Checkpoint.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Checkpoint.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Connection.Active.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Connection.Active.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP4Config.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP4Config.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP6Config.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP6Config.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bond.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bond.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bridge.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bridge.h \
|
2017-01-31 13:14:33 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Dummy.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Dummy.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Generic.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Generic.h \
|
2023-10-27 12:01:13 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Hsr.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Hsr.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
|
2022-06-12 23:50:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Loopback.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Loopback.h \
|
2018-05-22 14:24:58 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Lowpan.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Lowpan.h \
|
2016-06-30 16:20:22 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macsec.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macsec.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macvlan.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macvlan.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Modem.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Modem.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.h \
|
2017-10-02 06:39:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsInterface.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsInterface.h \
|
2017-10-02 06:39:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsPort.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsPort.h \
|
2017-06-06 13:55:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Ppp.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Ppp.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Statistics.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Statistics.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Team.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Team.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Tun.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Tun.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Veth.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Veth.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vlan.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vlan.h \
|
2019-12-05 09:36:54 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vrf.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vrf.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vxlan.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vxlan.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WifiP2P.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WifiP2P.h \
|
2018-03-13 13:42:38 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WireGuard.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WireGuard.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wired.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wired.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
|
2018-03-09 15:05:58 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wpan.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wpan.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.h \
|
2016-10-24 11:28:51 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.DnsManager.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DnsManager.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.IP4Config.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.IP4Config.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.IP6Config.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.IP6Config.h \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.WifiP2PPeer.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.WifiP2PPeer.h \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.PPP.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.PPP.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.SecretAgent.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.SecretAgent.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.Connection.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.Connection.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Connection.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Connection.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Plugin.c \
|
2018-10-10 21:30:46 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Plugin.h \
|
|
|
|
introspection/org.freedesktop.NetworkManager.c \
|
|
|
|
introspection/org.freedesktop.NetworkManager.h \
|
|
|
|
$(NULL)
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-15 10:07:51 +00:00
|
|
|
nodist_introspection_libnmdbus_la_SOURCES = $(introspection_sources)
|
|
|
|
|
2016-10-14 10:13:50 +00:00
|
|
|
DBUS_INTERFACE_DOCS = \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.AccessPoint.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
|
2023-10-27 12:01:13 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Hsr.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
|
2022-06-12 23:50:09 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Loopback.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Lowpan.xml \
|
2016-06-30 16:20:22 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Macsec.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Macvlan.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
|
2017-10-02 06:39:09 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsInterface.xml \
|
2017-10-02 06:39:09 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsPort.xml \
|
2017-06-06 13:55:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
|
2019-12-05 09:36:54 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Vrf.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.WifiP2P.xml \
|
2018-03-13 13:42:38 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.WireGuard.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.Wpan.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
|
2018-05-22 14:24:58 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
|
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.WifiP2PPeer.xml \
|
2018-10-10 21:30:46 +00:00
|
|
|
docs/api/dbus-org.freedesktop.NetworkManager.xml \
|
|
|
|
$(NULL)
|
2016-11-23 12:14:08 +00:00
|
|
|
|
|
|
|
introspection/%.c: introspection/%.xml
|
2017-02-22 10:42:35 +00:00
|
|
|
@$(MKDIR_P) introspection/
|
2016-11-23 12:14:08 +00:00
|
|
|
$(AM_V_GEN) gdbus-codegen \
|
|
|
|
--generate-c-code $(basename $@) \
|
|
|
|
--generate-docbook docs/api/dbus \
|
2016-10-14 10:13:50 +00:00
|
|
|
--c-namespace NMDBus \
|
|
|
|
--interface-prefix org.freedesktop.NetworkManager \
|
2016-11-23 12:14:08 +00:00
|
|
|
$<
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/%.h: introspection/%.c
|
|
|
|
$()
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-23 12:14:08 +00:00
|
|
|
docs/api/dbus-%.xml: introspection/%.c
|
|
|
|
$()
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-23 13:03:51 +00:00
|
|
|
dbusinterfacesdir = $(datadir)/dbus-1/interfaces
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-23 13:03:51 +00:00
|
|
|
dbusinterfaces_DATA = \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.AccessPoint.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.AgentManager.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Connection.Active.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.DHCP6Config.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
|
2017-01-31 13:14:33 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Dummy.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
|
2023-10-27 12:01:13 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Hsr.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
|
2022-06-12 23:50:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Loopback.xml \
|
2018-05-22 14:24:58 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Lowpan.xml \
|
2016-06-30 16:20:22 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macsec.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Macvlan.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Modem.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OlpcMesh.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.xml \
|
2017-10-02 06:39:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsInterface.xml \
|
2017-10-02 06:39:09 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.OvsPort.xml \
|
2017-06-06 13:55:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Ppp.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Statistics.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Team.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Tun.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Veth.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vlan.xml \
|
2019-12-05 09:36:54 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vrf.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Vxlan.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WifiP2P.xml \
|
2018-03-13 13:42:38 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.WireGuard.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wired.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
|
2018-03-09 15:05:58 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.Wpan.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.Device.xml \
|
2016-10-24 11:28:51 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.DnsManager.xml \
|
2016-11-23 12:14:08 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.IP4Config.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.IP6Config.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.PPP.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.SecretAgent.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.Connection.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.Settings.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Connection.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.VPN.Plugin.xml \
|
2019-01-28 14:21:59 +00:00
|
|
|
introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.WifiP2PPeer.xml \
|
|
|
|
introspection/org.freedesktop.NetworkManager.xml \
|
|
|
|
$(NULL)
|
2016-10-14 10:13:50 +00:00
|
|
|
|
2016-11-22 18:30:06 +00:00
|
|
|
CLEANFILES += $(introspection_sources)
|
|
|
|
CLEANFILES += $(DBUS_INTERFACE_DOCS)
|
2016-11-23 13:03:51 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_libnm_client_impl_la_OBJECTS): $(introspection_sources)
|
|
|
|
$(src_libnm_client_impl_libnm_la_OBJECTS): $(introspection_sources)
|
2016-11-22 17:09:19 +00:00
|
|
|
|
2016-11-23 13:03:51 +00:00
|
|
|
EXTRA_DIST += \
|
2018-01-08 12:06:54 +00:00
|
|
|
$(dbusinterfaces_DATA) \
|
|
|
|
introspection/meson.build
|
2016-11-23 13:03:51 +00:00
|
|
|
|
2018-06-26 10:02:33 +00:00
|
|
|
check-docs:
|
2018-10-25 08:20:33 +00:00
|
|
|
$(srcdir)/tools/check-docs.sh "$(srcdir)" "$(builddir)"
|
2018-06-26 10:02:33 +00:00
|
|
|
|
|
|
|
check_local += check-docs
|
|
|
|
|
2016-10-14 10:13:50 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_lib_h_pub_real = \
|
|
|
|
src/libnm-core-public/nm-connection.h \
|
|
|
|
src/libnm-core-public/nm-core-types.h \
|
|
|
|
src/libnm-core-public/nm-dbus-interface.h \
|
|
|
|
src/libnm-core-public/nm-errors.h \
|
|
|
|
src/libnm-core-public/nm-keyfile.h \
|
|
|
|
src/libnm-core-public/nm-setting-6lowpan.h \
|
|
|
|
src/libnm-core-public/nm-setting-8021x.h \
|
|
|
|
src/libnm-core-public/nm-setting-adsl.h \
|
|
|
|
src/libnm-core-public/nm-setting-bluetooth.h \
|
2021-08-23 14:00:54 +00:00
|
|
|
src/libnm-core-public/nm-setting-bond-port.h \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-setting-bond.h \
|
|
|
|
src/libnm-core-public/nm-setting-bridge-port.h \
|
|
|
|
src/libnm-core-public/nm-setting-bridge.h \
|
|
|
|
src/libnm-core-public/nm-setting-cdma.h \
|
|
|
|
src/libnm-core-public/nm-setting-connection.h \
|
|
|
|
src/libnm-core-public/nm-setting-dcb.h \
|
|
|
|
src/libnm-core-public/nm-setting-dummy.h \
|
|
|
|
src/libnm-core-public/nm-setting-ethtool.h \
|
|
|
|
src/libnm-core-public/nm-setting-generic.h \
|
|
|
|
src/libnm-core-public/nm-setting-gsm.h \
|
|
|
|
src/libnm-core-public/nm-setting-hostname.h \
|
2023-10-27 12:01:13 +00:00
|
|
|
src/libnm-core-public/nm-setting-hsr.h \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-setting-infiniband.h \
|
|
|
|
src/libnm-core-public/nm-setting-ip-config.h \
|
|
|
|
src/libnm-core-public/nm-setting-ip-tunnel.h \
|
|
|
|
src/libnm-core-public/nm-setting-ip4-config.h \
|
|
|
|
src/libnm-core-public/nm-setting-ip6-config.h \
|
2023-02-16 12:31:30 +00:00
|
|
|
src/libnm-core-public/nm-setting-link.h \
|
2022-06-12 23:50:09 +00:00
|
|
|
src/libnm-core-public/nm-setting-loopback.h \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-setting-macsec.h \
|
|
|
|
src/libnm-core-public/nm-setting-macvlan.h \
|
|
|
|
src/libnm-core-public/nm-setting-match.h \
|
|
|
|
src/libnm-core-public/nm-setting-olpc-mesh.h \
|
|
|
|
src/libnm-core-public/nm-setting-ovs-bridge.h \
|
|
|
|
src/libnm-core-public/nm-setting-ovs-dpdk.h \
|
|
|
|
src/libnm-core-public/nm-setting-ovs-external-ids.h \
|
|
|
|
src/libnm-core-public/nm-setting-ovs-interface.h \
|
2023-01-11 10:51:46 +00:00
|
|
|
src/libnm-core-public/nm-setting-ovs-other-config.h \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-setting-ovs-patch.h \
|
|
|
|
src/libnm-core-public/nm-setting-ovs-port.h \
|
|
|
|
src/libnm-core-public/nm-setting-ppp.h \
|
|
|
|
src/libnm-core-public/nm-setting-pppoe.h \
|
|
|
|
src/libnm-core-public/nm-setting-proxy.h \
|
|
|
|
src/libnm-core-public/nm-setting-serial.h \
|
|
|
|
src/libnm-core-public/nm-setting-sriov.h \
|
|
|
|
src/libnm-core-public/nm-setting-tc-config.h \
|
|
|
|
src/libnm-core-public/nm-setting-team-port.h \
|
|
|
|
src/libnm-core-public/nm-setting-team.h \
|
|
|
|
src/libnm-core-public/nm-setting-tun.h \
|
|
|
|
src/libnm-core-public/nm-setting-user.h \
|
|
|
|
src/libnm-core-public/nm-setting-veth.h \
|
|
|
|
src/libnm-core-public/nm-setting-vlan.h \
|
|
|
|
src/libnm-core-public/nm-setting-vpn.h \
|
|
|
|
src/libnm-core-public/nm-setting-vrf.h \
|
|
|
|
src/libnm-core-public/nm-setting-vxlan.h \
|
|
|
|
src/libnm-core-public/nm-setting-wifi-p2p.h \
|
|
|
|
src/libnm-core-public/nm-setting-wimax.h \
|
|
|
|
src/libnm-core-public/nm-setting-wired.h \
|
|
|
|
src/libnm-core-public/nm-setting-wireguard.h \
|
|
|
|
src/libnm-core-public/nm-setting-wireless-security.h \
|
|
|
|
src/libnm-core-public/nm-setting-wireless.h \
|
|
|
|
src/libnm-core-public/nm-setting-wpan.h \
|
|
|
|
src/libnm-core-public/nm-setting.h \
|
|
|
|
src/libnm-core-public/nm-simple-connection.h \
|
|
|
|
src/libnm-core-public/nm-utils.h \
|
|
|
|
src/libnm-core-public/nm-version-macros.h \
|
|
|
|
src/libnm-core-public/nm-version.h \
|
|
|
|
src/libnm-core-public/nm-vpn-dbus-interface.h \
|
|
|
|
src/libnm-core-public/nm-vpn-editor-plugin.h \
|
|
|
|
src/libnm-core-public/nm-vpn-plugin-info.h \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_core_public_mkenums_h = \
|
|
|
|
src/libnm-core-public/nm-core-enum-types.h \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_core_impl_lib_h_priv = \
|
|
|
|
src/libnm-core-impl/nm-connection-private.h \
|
|
|
|
src/libnm-core-impl/nm-default-libnm-core.h \
|
|
|
|
src/libnm-core-impl/nm-setting-private.h \
|
|
|
|
src/libnm-core-impl/nm-team-utils.h \
|
|
|
|
src/libnm-core-impl/nm-utils-private.h \
|
|
|
|
src/libnm-core-intern/nm-core-internal.h \
|
|
|
|
src/libnm-core-intern/nm-keyfile-internal.h \
|
|
|
|
src/libnm-core-intern/nm-keyfile-utils.h \
|
|
|
|
src/libnm-core-intern/nm-meta-setting-base-impl.h \
|
|
|
|
src/libnm-core-intern/nm-meta-setting-base.h \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_core_impl_lib_c_settings_real = \
|
|
|
|
src/libnm-core-impl/nm-setting-6lowpan.c \
|
|
|
|
src/libnm-core-impl/nm-setting-8021x.c \
|
|
|
|
src/libnm-core-impl/nm-setting-adsl.c \
|
|
|
|
src/libnm-core-impl/nm-setting-bluetooth.c \
|
2021-08-23 14:00:54 +00:00
|
|
|
src/libnm-core-impl/nm-setting-bond-port.c \
|
2021-08-26 14:26:33 +00:00
|
|
|
src/libnm-core-impl/nm-setting-bond.c \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/nm-setting-bridge-port.c \
|
|
|
|
src/libnm-core-impl/nm-setting-bridge.c \
|
|
|
|
src/libnm-core-impl/nm-setting-cdma.c \
|
|
|
|
src/libnm-core-impl/nm-setting-connection.c \
|
|
|
|
src/libnm-core-impl/nm-setting-dcb.c \
|
|
|
|
src/libnm-core-impl/nm-setting-dummy.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ethtool.c \
|
|
|
|
src/libnm-core-impl/nm-setting-generic.c \
|
|
|
|
src/libnm-core-impl/nm-setting-gsm.c \
|
|
|
|
src/libnm-core-impl/nm-setting-hostname.c \
|
2023-10-27 12:01:13 +00:00
|
|
|
src/libnm-core-impl/nm-setting-hsr.c \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/nm-setting-infiniband.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ip-config.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ip-tunnel.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ip4-config.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ip6-config.c \
|
2023-02-16 12:31:30 +00:00
|
|
|
src/libnm-core-impl/nm-setting-link.c \
|
2022-06-12 23:50:09 +00:00
|
|
|
src/libnm-core-impl/nm-setting-loopback.c \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/nm-setting-macsec.c \
|
|
|
|
src/libnm-core-impl/nm-setting-macvlan.c \
|
|
|
|
src/libnm-core-impl/nm-setting-match.c \
|
|
|
|
src/libnm-core-impl/nm-setting-olpc-mesh.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ovs-bridge.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ovs-dpdk.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ovs-external-ids.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ovs-interface.c \
|
2023-01-11 10:51:46 +00:00
|
|
|
src/libnm-core-impl/nm-setting-ovs-other-config.c \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/nm-setting-ovs-patch.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ovs-port.c \
|
|
|
|
src/libnm-core-impl/nm-setting-ppp.c \
|
|
|
|
src/libnm-core-impl/nm-setting-pppoe.c \
|
|
|
|
src/libnm-core-impl/nm-setting-proxy.c \
|
|
|
|
src/libnm-core-impl/nm-setting-serial.c \
|
|
|
|
src/libnm-core-impl/nm-setting-sriov.c \
|
|
|
|
src/libnm-core-impl/nm-setting-tc-config.c \
|
|
|
|
src/libnm-core-impl/nm-setting-team-port.c \
|
|
|
|
src/libnm-core-impl/nm-setting-team.c \
|
|
|
|
src/libnm-core-impl/nm-setting-tun.c \
|
|
|
|
src/libnm-core-impl/nm-setting-user.c \
|
|
|
|
src/libnm-core-impl/nm-setting-veth.c \
|
|
|
|
src/libnm-core-impl/nm-setting-vlan.c \
|
|
|
|
src/libnm-core-impl/nm-setting-vpn.c \
|
|
|
|
src/libnm-core-impl/nm-setting-vrf.c \
|
|
|
|
src/libnm-core-impl/nm-setting-vxlan.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wifi-p2p.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wimax.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wired.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wireguard.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wireless-security.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wireless.c \
|
|
|
|
src/libnm-core-impl/nm-setting-wpan.c \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_core_impl_lib_c_real = \
|
|
|
|
$(src_libnm_core_impl_lib_c_settings_real) \
|
|
|
|
src/libnm-core-impl/nm-connection.c \
|
|
|
|
src/libnm-core-impl/nm-errors.c \
|
|
|
|
src/libnm-core-impl/nm-keyfile-utils.c \
|
|
|
|
src/libnm-core-impl/nm-keyfile.c \
|
|
|
|
src/libnm-core-impl/nm-meta-setting-base-impl.c \
|
|
|
|
src/libnm-core-impl/nm-setting.c \
|
|
|
|
src/libnm-core-impl/nm-simple-connection.c \
|
|
|
|
src/libnm-core-impl/nm-team-utils.c \
|
|
|
|
src/libnm-core-impl/nm-utils.c \
|
|
|
|
src/libnm-core-impl/nm-vpn-editor-plugin.c \
|
|
|
|
src/libnm-core-impl/nm-vpn-plugin-info.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_core_public_mkenums_c = \
|
|
|
|
src/libnm-core-public/nm-core-enum-types.c \
|
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
|
|
|
libnminclude_HEADERS += \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_lib_h_pub_real)
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2016-11-15 13:35:48 +00:00
|
|
|
nodist_libnminclude_HEADERS += \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_public_mkenums_h)
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-core-impl/README.md \
|
|
|
|
src/libnm-core-impl/meson.build \
|
|
|
|
src/libnm-core-intern/README.md \
|
|
|
|
src/libnm-core-intern/meson.build \
|
|
|
|
src/libnm-core-public/README.md \
|
|
|
|
src/libnm-core-public/meson.build \
|
|
|
|
$(NULL)
|
2016-10-14 10:54:41 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-10-22 10:25:40 +00:00
|
|
|
dflt_cppflags_libnm_core = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src \
|
2016-10-22 10:25:40 +00:00
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(LIBUDEV_CFLAGS) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
2017-02-22 16:14:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-core-impl/libnm-core-impl.la
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/nm-enum-types.h.stamp: src/libnm-client-public/.dirstamp
|
|
|
|
src/libnm-client-public/nm-enum-types.c.stamp: src/libnm-client-public/.dirstamp
|
|
|
|
|
2016-10-14 10:54:41 +00:00
|
|
|
GLIB_GENERATED += \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_public_mkenums_h) \
|
|
|
|
$(src_libnm_core_public_mkenums_c) \
|
|
|
|
$(NULL)
|
|
|
|
nm_core_enum_types_sources = $(src_libnm_core_impl_lib_h_pub_real)
|
|
|
|
|
2021-02-17 15:11:49 +00:00
|
|
|
nm_core_enum_types_MKENUMS_C_FLAGS = --fhead '\#undef G_LOG_DOMAIN\n\#include "src/libnm-core-impl/nm-default-libnm-core.h"\n'
|
2021-02-12 14:01:09 +00:00
|
|
|
|
|
|
|
src/libnm-core-public/nm-core-enum-types.h.stamp: src/libnm-core-public/.dirstamp
|
|
|
|
src/libnm-core-public/nm-core-enum-types.c.stamp: src/libnm-core-public/.dirstamp
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
$(src_nm_dispatcher_libnm_dispatcher_core_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_dispatcher_nm_dispatcher_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_libnm_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2021-02-20 13:52:23 +00:00
|
|
|
$(src_contrib_tests_libnm_vpn_plugin_utils_test_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_NetworkManager_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_adsl_libnm_device_plugin_adsl_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_team_libnm_device_plugin_team_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_wifi_libnm_device_plugin_wifi_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_wwan_libnm_device_plugin_wwan_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_devices_ovs_libnm_device_plugin_ovs_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
|
|
|
|
src_libnm_core_impl_libnm_core_impl_la_CPPFLAGS = \
|
2016-10-22 10:25:40 +00:00
|
|
|
$(dflt_cppflags_libnm_core) \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src/libnm-core-intern/ \
|
2018-01-02 12:37:06 +00:00
|
|
|
$(NULL)
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_libnm_core_impl_la_SOURCES = \
|
|
|
|
$(src_libnm_core_impl_lib_h_pub_real) \
|
|
|
|
$(src_libnm_core_impl_lib_h_priv) \
|
|
|
|
$(src_libnm_core_impl_lib_c_real)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
nodist_src_libnm_core_impl_libnm_core_impl_la_SOURCES = \
|
|
|
|
$(src_libnm_core_public_mkenums_h) \
|
|
|
|
$(src_libnm_core_public_mkenums_c) \
|
|
|
|
$(NULL)
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_libnm_core_impl_la_LIBADD = \
|
2016-10-14 10:54:41 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-05-30 11:19:07 +00:00
|
|
|
$(NULL)
|
2017-02-22 16:14:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_libnm_core_impl_la_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2016-11-15 13:35:48 +00:00
|
|
|
EXTRA_DIST += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/meson.build \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-vpn-dbus-types.xml: src/libnm-core-public/nm-vpn-dbus-interface.h tools/enums-to-docbook.pl
|
|
|
|
@$(MKDIR_P) src/libnm-core-public/
|
2017-03-16 16:10:11 +00:00
|
|
|
$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-vpn-dbus-types' 'VPN Plugin D-Bus API Types' $< >$@
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-dbus-types.xml: src/libnm-core-public/nm-dbus-interface.h tools/enums-to-docbook.pl
|
|
|
|
@$(MKDIR_P) src/libnm-core-public/
|
2017-03-16 16:10:11 +00:00
|
|
|
$(AM_V_GEN) @PERL@ $(srcdir)/tools/enums-to-docbook.pl 'nm-dbus-types' 'NetworkManager D-Bus API Types' $< >$@
|
2016-10-14 10:54:41 +00:00
|
|
|
|
|
|
|
BUILT_SOURCES += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-vpn-dbus-types.xml \
|
|
|
|
src/libnm-core-public/nm-dbus-types.xml
|
2016-10-14 10:54:41 +00:00
|
|
|
|
2016-11-15 09:50:19 +00:00
|
|
|
dist_dependencies += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-public/nm-vpn-dbus-types.xml \
|
|
|
|
src/libnm-core-public/nm-dbus-types.xml
|
2016-11-15 09:50:19 +00:00
|
|
|
|
2016-10-14 10:54:41 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2022-03-18 17:12:54 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-crypto/libnm-crypto.la
|
|
|
|
|
|
|
|
src_libnm_crypto_libnm_crypto_la_SOURCES = \
|
|
|
|
src/libnm-crypto/nm-crypto-impl.h \
|
|
|
|
src/libnm-crypto/nm-crypto.c \
|
|
|
|
src/libnm-crypto/nm-crypto.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_crypto_libnm_crypto_la_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags_libnm_core) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_crypto_libnm_crypto_la_LIBADD = \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_crypto_libnm_crypto_la_LDFLAGS = \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2018-08-30 06:30:19 +00:00
|
|
|
if HAVE_CRYPTO_GNUTLS
|
|
|
|
if WITH_GNUTLS
|
2022-03-18 17:12:54 +00:00
|
|
|
libnm_crypto_lib = src/libnm-crypto/libnm-crypto-gnutls.la
|
2018-08-30 06:30:19 +00:00
|
|
|
else
|
2022-03-18 17:12:54 +00:00
|
|
|
check_ltlibraries += src/libnm-crypto/libnm-crypto-gnutls.la
|
2018-08-30 06:30:19 +00:00
|
|
|
endif
|
|
|
|
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_gnutls_la_SOURCES = src/libnm-crypto/nm-crypto-gnutls.c
|
|
|
|
src_libnm_crypto_libnm_crypto_gnutls_la_CPPFLAGS = \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_CPPFLAGS) \
|
2018-08-30 06:30:19 +00:00
|
|
|
$(GNUTLS_CFLAGS)
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_gnutls_la_LDFLAGS = \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_LDFLAGS)
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_gnutls_la_LIBADD = \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-08-30 06:30:19 +00:00
|
|
|
$(GNUTLS_LIBS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
if HAVE_CRYPTO_NSS
|
|
|
|
if WITH_NSS
|
2022-03-18 17:12:54 +00:00
|
|
|
libnm_crypto_lib = src/libnm-crypto/libnm-crypto-nss.la
|
2018-08-30 06:30:19 +00:00
|
|
|
else
|
2022-03-18 17:12:54 +00:00
|
|
|
check_ltlibraries += src/libnm-crypto/libnm-crypto-nss.la
|
2018-08-30 06:30:19 +00:00
|
|
|
endif
|
|
|
|
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_nss_la_SOURCES = src/libnm-crypto/nm-crypto-nss.c
|
|
|
|
src_libnm_crypto_libnm_crypto_nss_la_CPPFLAGS = \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_CPPFLAGS) \
|
2018-08-30 06:30:19 +00:00
|
|
|
$(NSS_CFLAGS)
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_nss_la_LDFLAGS = \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_LDFLAGS)
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_nss_la_LIBADD = \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-08-30 06:30:19 +00:00
|
|
|
$(NSS_LIBS)
|
|
|
|
endif
|
|
|
|
|
2022-01-31 13:42:21 +00:00
|
|
|
if !WITH_GNUTLS
|
|
|
|
if !WITH_NSS
|
2022-03-18 17:12:54 +00:00
|
|
|
libnm_crypto_lib = src/libnm-crypto/libnm-crypto-null.la
|
2022-01-31 13:42:21 +00:00
|
|
|
else
|
2022-03-18 17:12:54 +00:00
|
|
|
check_ltlibraries += src/libnm-crypto/libnm-crypto-null.la
|
2022-01-31 13:42:21 +00:00
|
|
|
endif
|
|
|
|
else
|
2022-03-18 17:12:54 +00:00
|
|
|
check_ltlibraries += src/libnm-crypto/libnm-crypto-null.la
|
2022-01-31 13:42:21 +00:00
|
|
|
endif
|
|
|
|
|
2022-03-18 17:12:54 +00:00
|
|
|
src_libnm_crypto_libnm_crypto_null_la_SOURCES = src/libnm-crypto/nm-crypto-null.c
|
|
|
|
src_libnm_crypto_libnm_crypto_null_la_CPPFLAGS = \
|
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_CPPFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_crypto_libnm_crypto_null_la_LDFLAGS = \
|
|
|
|
$(src_libnm_core_impl_libnm_core_impl_la_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_crypto_libnm_crypto_null_la_LIBADD = \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2022-01-31 13:42:21 +00:00
|
|
|
|
2018-08-30 06:30:19 +00:00
|
|
|
noinst_LTLIBRARIES += $(libnm_crypto_lib)
|
|
|
|
|
2022-03-18 17:12:54 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/libnm-crypto/README.md \
|
|
|
|
src/libnm-crypto/meson.build \
|
|
|
|
src/libnm-crypto/nm-crypto-gnutls.c \
|
|
|
|
src/libnm-crypto/nm-crypto-nss.c \
|
|
|
|
$(NULL)
|
|
|
|
|
2018-08-30 06:30:19 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-11-22 18:30:06 +00:00
|
|
|
check_programs += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/test-crypto \
|
|
|
|
src/libnm-core-impl/tests/test-general \
|
|
|
|
src/libnm-core-impl/tests/test-keyfile \
|
|
|
|
src/libnm-core-impl/tests/test-secrets \
|
|
|
|
src/libnm-core-impl/tests/test-setting \
|
|
|
|
src/libnm-core-impl/tests/test-settings-defaults
|
2016-10-14 13:24:28 +00:00
|
|
|
|
|
|
|
GLIB_GENERATED += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.h \
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.c
|
|
|
|
nm_core_tests_enum_types_sources = src/libnm-core-impl/tests/test-general-enums.h
|
2021-02-17 15:11:49 +00:00
|
|
|
nm_core_tests_enum_types_MKENUMS_C_FLAGS = --fhead '\#undef G_LOG_DOMAIN\n\#include "src/libnm-core-impl/nm-default-libnm-core.h"\n'
|
2016-10-14 13:24:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.h.stamp: src/libnm-core-impl/tests/.dirstamp
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.c.stamp: src/libnm-core-impl/tests/.dirstamp
|
2017-06-14 12:03:30 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_impl_tests_test_general_OBJECTS): src/libnm-core-impl/tests/nm-core-tests-enum-types.h
|
2016-11-22 18:30:06 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_cppflags = \
|
|
|
|
-I$(builddir)/src/libnm-core-impl/tests \
|
|
|
|
-I$(srcdir)/src/libnm-core-impl/tests \
|
|
|
|
-I$(srcdir)/src/libnm-core-impl \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src/ \
|
|
|
|
-I$(builddir)/src/ \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(dflt_cppflags_libnm_core) \
|
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
2018-05-30 08:23:17 +00:00
|
|
|
$(NULL)
|
2016-10-14 13:24:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_test_crypto_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
|
|
|
src_libnm_core_impl_tests_test_general_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
|
|
|
src_libnm_core_impl_tests_test_keyfile_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
|
|
|
src_libnm_core_impl_tests_test_secrets_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
|
|
|
src_libnm_core_impl_tests_test_setting_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
|
|
|
src_libnm_core_impl_tests_test_settings_defaults_CPPFLAGS = $(src_libnm_core_impl_tests_cppflags)
|
2016-10-14 13:24:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_test_general_SOURCES = \
|
|
|
|
src/libnm-core-impl/tests/test-general-enums.h \
|
|
|
|
src/libnm-core-impl/tests/test-general.c \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
2016-10-14 13:24:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
nodist_src_libnm_core_impl_tests_test_general_SOURCES = \
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.c \
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.h \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
2016-11-15 13:56:48 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_ldadd = \
|
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-impl/libnm-core-impl.la \
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-crypto/libnm-crypto.la \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(libnm_crypto_lib) \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-14 13:24:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_ldflags = \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
src_libnm_core_impl_tests_test_crypto_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
src_libnm_core_impl_tests_test_general_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
src_libnm_core_impl_tests_test_keyfile_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
src_libnm_core_impl_tests_test_secrets_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
src_libnm_core_impl_tests_test_setting_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
src_libnm_core_impl_tests_test_settings_defaults_LDADD = $(src_libnm_core_impl_tests_ldadd)
|
|
|
|
|
|
|
|
src_libnm_core_impl_tests_test_crypto_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
src_libnm_core_impl_tests_test_general_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
src_libnm_core_impl_tests_test_keyfile_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
src_libnm_core_impl_tests_test_secrets_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
src_libnm_core_impl_tests_test_setting_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
src_libnm_core_impl_tests_test_settings_defaults_LDFLAGS = $(src_libnm_core_impl_tests_ldflags)
|
|
|
|
|
|
|
|
$(src_libnm_core_impl_tests_test_crypto_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_core_impl_tests_test_general_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_core_impl_tests_test_keyfile_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_core_impl_tests_test_secrets_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_core_impl_tests_test_setting_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnm_core_impl_tests_test_settings_defaults_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-14 13:24:28 +00:00
|
|
|
# test-cert.p12 created with:
|
|
|
|
#
|
|
|
|
# openssl pkcs12 -export \
|
2018-02-02 09:55:34 +00:00
|
|
|
# -in test_key_and_cert.pem \
|
|
|
|
# -inkey test_key_and_cert.pem \
|
|
|
|
# -certfile test_ca_cert.pem \
|
|
|
|
# -name "test-pkcs12" \
|
|
|
|
# -out test-cert.p12
|
2016-10-14 13:24:28 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/certs/ca-no-ending-newline.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/pkcs8-decrypted.der \
|
|
|
|
src/libnm-core-impl/tests/certs/pkcs8-enc-key.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/pkcs8-noenc-key.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test2_ca_cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test2-cert.p12 \
|
|
|
|
src/libnm-core-impl/tests/certs/test2_key_and_cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-aes-128-key.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-aes-256-key.pem \
|
2022-08-03 11:16:50 +00:00
|
|
|
src/libnm-core-impl/tests/certs/test-aes-128-ec-key.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-aes-256-ec-key.pem \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/certs/test_ca_cert.der \
|
|
|
|
src/libnm-core-impl/tests/certs/test_ca_cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-ca-cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-cert.p12 \
|
|
|
|
src/libnm-core-impl/tests/certs/test_key_and_cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-key-and-cert.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-key-only-decrypted.der \
|
|
|
|
src/libnm-core-impl/tests/certs/test-key-only-decrypted.pem \
|
2022-08-03 11:16:50 +00:00
|
|
|
src/libnm-core-impl/tests/certs/test-ec-key-only-decrypted.der \
|
|
|
|
src/libnm-core-impl/tests/certs/test-ec-key-only-decrypted.pem \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/tests/certs/test-key-only.pem \
|
|
|
|
src/libnm-core-impl/tests/certs/test-tpm2wrapped-key.pem \
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.c.template \
|
|
|
|
src/libnm-core-impl/tests/nm-core-tests-enum-types.h.template \
|
|
|
|
src/libnm-core-impl/tests/meson.build
|
2016-10-14 13:24:28 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-11-15 13:35:48 +00:00
|
|
|
libnm_lib_h_pub_real = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/NetworkManager.h \
|
|
|
|
src/libnm-client-public/nm-access-point.h \
|
|
|
|
src/libnm-client-public/nm-active-connection.h \
|
|
|
|
src/libnm-client-public/nm-autoptr.h \
|
|
|
|
src/libnm-client-public/nm-checkpoint.h \
|
|
|
|
src/libnm-client-public/nm-client.h \
|
2022-07-20 16:08:00 +00:00
|
|
|
src/libnm-client-public/nm-conn-utils.h \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/nm-device-6lowpan.h \
|
|
|
|
src/libnm-client-public/nm-device-adsl.h \
|
|
|
|
src/libnm-client-public/nm-device-bond.h \
|
|
|
|
src/libnm-client-public/nm-device-bridge.h \
|
|
|
|
src/libnm-client-public/nm-device-bt.h \
|
|
|
|
src/libnm-client-public/nm-device-dummy.h \
|
|
|
|
src/libnm-client-public/nm-device-ethernet.h \
|
|
|
|
src/libnm-client-public/nm-device-generic.h \
|
2023-10-27 12:01:13 +00:00
|
|
|
src/libnm-client-public/nm-device-hsr.h \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/nm-device-infiniband.h \
|
|
|
|
src/libnm-client-public/nm-device-ip-tunnel.h \
|
2022-06-12 23:50:09 +00:00
|
|
|
src/libnm-client-public/nm-device-loopback.h \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/nm-device-macsec.h \
|
|
|
|
src/libnm-client-public/nm-device-macvlan.h \
|
|
|
|
src/libnm-client-public/nm-device-modem.h \
|
|
|
|
src/libnm-client-public/nm-device-olpc-mesh.h \
|
|
|
|
src/libnm-client-public/nm-device-ovs-bridge.h \
|
|
|
|
src/libnm-client-public/nm-device-ovs-interface.h \
|
|
|
|
src/libnm-client-public/nm-device-ovs-port.h \
|
|
|
|
src/libnm-client-public/nm-device-ppp.h \
|
|
|
|
src/libnm-client-public/nm-device-team.h \
|
|
|
|
src/libnm-client-public/nm-device-tun.h \
|
|
|
|
src/libnm-client-public/nm-device-veth.h \
|
|
|
|
src/libnm-client-public/nm-device-vlan.h \
|
|
|
|
src/libnm-client-public/nm-device-vrf.h \
|
|
|
|
src/libnm-client-public/nm-device-vxlan.h \
|
|
|
|
src/libnm-client-public/nm-device-wifi-p2p.h \
|
|
|
|
src/libnm-client-public/nm-device-wifi.h \
|
|
|
|
src/libnm-client-public/nm-device-wimax.h \
|
|
|
|
src/libnm-client-public/nm-device-wireguard.h \
|
|
|
|
src/libnm-client-public/nm-device-wpan.h \
|
|
|
|
src/libnm-client-public/nm-device.h \
|
|
|
|
src/libnm-client-public/nm-dhcp-config.h \
|
|
|
|
src/libnm-client-public/nm-ethtool-utils.h \
|
|
|
|
src/libnm-client-public/nm-ip-config.h \
|
|
|
|
src/libnm-client-public/nm-object.h \
|
|
|
|
src/libnm-client-public/nm-remote-connection.h \
|
|
|
|
src/libnm-client-public/nm-secret-agent-old.h \
|
|
|
|
src/libnm-client-public/nm-vpn-connection.h \
|
|
|
|
src/libnm-client-public/nm-vpn-editor.h \
|
|
|
|
src/libnm-client-public/nm-vpn-plugin-old.h \
|
|
|
|
src/libnm-client-public/nm-vpn-service-plugin.h \
|
|
|
|
src/libnm-client-public/nm-wifi-p2p-peer.h \
|
|
|
|
src/libnm-client-public/nm-wimax-nsp.h \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_client_public_mkenums_h = \
|
|
|
|
src/libnm-client-public/nm-enum-types.h \
|
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
libnm_lib_h_priv = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-dbus-helpers.h \
|
|
|
|
src/libnm-client-aux-extern/nm-default-client.h \
|
|
|
|
src/libnm-client-impl/nm-default-libnm.h \
|
|
|
|
src/libnm-client-impl/nm-device-private.h \
|
|
|
|
src/libnm-client-impl/nm-dhcp4-config.h \
|
|
|
|
src/libnm-client-impl/nm-dhcp6-config.h \
|
|
|
|
src/libnm-client-impl/nm-dns-manager.h \
|
|
|
|
src/libnm-client-impl/nm-ip4-config.h \
|
|
|
|
src/libnm-client-impl/nm-ip6-config.h \
|
|
|
|
src/libnm-client-impl/nm-libnm-utils.h \
|
|
|
|
src/libnm-client-impl/nm-object-private.h \
|
|
|
|
src/libnm-client-impl/nm-remote-connection-private.h \
|
libnm: refactor caching of D-Bus objects in NMClient
No longer use GDBusObjectMangaerClient and gdbus-codegen generated classes
for the NMClient cache. Instead, use GDBusConnection directly and a
custom implementation (NMLDBusObject) for caching D-Bus' ObjectManager
data.
CHANGES
-------
- This is a complete rework. I think the previous implementation was
difficult to understand. There were unfixed bugs and nobody understood
the code well enough to fix them. Maybe somebody out there understood the
code, but I certainly did not. At least nobody provided patches to fix those
issues. I do believe that this implementation is more straightforward and
easier to understand. It removes a lot of layers of code. Whether this claim
of simplicity is true, each reader must decide for himself/herself. Note
that it is still fairly complex.
- There was a lingering performance issue with large number of D-Bus
objects. The patch tries hard that the implementation scales well. Of
course, when we cache N objects that have N-to-M references to other,
we still are fundamentally O(N*M) for runtime and memory consumption (with
M being the number of references between objects). But each part should behave
efficiently and well.
- Play well with GMainContext. libnm code (NMClient) is generally not
thread safe. However, it should work to use multiple instances in
parallel, as long as each access to a NMClient is through the caller's
GMainContext. This follows glib's style and effectively allows to use NMClient
in a multi threaded scenario. This implies to stick to a main context
upon construction and ensure that callbacks are only invoked when
iterating that context. Also, NMClient itself shall never iterate the
caller's context. This also means, libnm must never use g_idle_add() or
g_timeout_add(), as those enqueue sources in the g_main_context_default()
context.
- Get ordering of messages right. All events are consistently enqueued
in a GMainContext and processed strictly in order. For example,
previously "nm-object.c" tried to combine signals and emit them on an
idle handler. That is wrong, signals must be emitted in the right order
and when they happen. Note that when using GInitable's synchronous initialization
to initialize the NMClient instance, NMClient internally still operates fully
asynchronously. In that case NMClient has an internal main context.
- NMClient takes over most of the functionality. When using D-Bus'
ObjectManager interface, one needs to handle basically the entire state
of the D-Bus interface. That cannot be separated well into distinct
parts, and even if you try, you just end up having closely related code
in different source files. Spreading related code does not make it
easier to understand, on the contrary. That means, NMClient is
inherently complex as it contains most of the logic. I think that is
not avoidable, but it's not as bad as it sounds.
- NMClient processes D-Bus messages and state changes in separate steps.
First NMClient unpacks the message (e.g. _dbus_handle_properties_changed()) and
keeps track of the changed data. Then we update the GObject instances
(_dbus_handle_obj_changed_dbus()) without emitting any signals yet. Finally,
we emit all signals and notifications that were collected
(_dbus_handle_changes_commit()). Note that for example during the initial
GetManagedObjects() reply, NMClient receive a large amount of state at once.
But we first apply all the changes to our GObject instances before
emitting any signals. The result is that signals are always emitted in a moment
when the cache is consistent. The unavoidable downside is that when you receive
a property changed signal, possibly many other properties changed
already and more signals are about to be emitted.
- NMDeviceWifi no longer modifies the content of the cache from client side
during poke_wireless_devices_with_rf_status(). The content of the cache
should be determined by D-Bus alone and follow what NetworkManager
service exposes. Local modifications should be avoided.
- This aims to bring no API/ABI change, though it does of course bring
various subtle changes in behavior. Those should be all for the better, but the
goal is not to break any existing clients. This does change internal
(albeit externally visible) API, like dropping NM_OBJECT_DBUS_OBJECT_MANAGER
property and NMObject no longer implementing GInitableIface and GAsyncInitableIface.
- Some uses of gdbus-codegen classes remain in NMVpnPluginOld, NMVpnServicePlugin
and NMSecretAgentOld. These are independent of NMClient/NMObject and
should be reworked separately.
- While we no longer use generated classes from gdbus-codegen, we don't
need more glue code than before. Also before we constructed NMPropertiesInfo and
a had large amount of code to propagate properties from NMDBus* to NMObject.
That got completely reworked, but did not fundamentally change. You still need
about the same effort to create the NMLDBusMetaIface. Not using
generated bindings did not make anything worse (which tells about the
usefulness of generated code, at least in the way it was used).
- NMLDBusMetaIface and other meta data is static and immutable. This
avoids copying them around. Also, macros like NML_DBUS_META_PROPERTY_INIT_U()
have compile time checks to ensure the property types matches. It's pretty hard
to misuse them because it won't compile.
- The meta data now explicitly encodes the expected D-Bus types and
makes sure never to accept wrong data. That would only matter when the
server (accidentally or intentionally) exposes unexpected types on
D-Bus. I don't think that was previously ensured in all cases.
For example, demarshal_generic() only cared about the GObject property
type, it didn't know the expected D-Bus type.
- Previously GDBusObjectManager would sometimes emit warnings (g_log()). Those
probably indicated real bugs. In any case, it prevented us from running CI
with G_DEBUG=fatal-warnings, because there would be just too many
unrelated crashes. Now we log debug messages that can be enabled with
"LIBNM_CLIENT_DEBUG=trace". Some of these messages can also be turned
into g_warning()/g_critical() by setting LIBNM_CLIENT_DEBUG=warning,error.
Together with G_DEBUG=fatal-warnings, this turns them into assertions.
Note that such "assertion failures" might also happen because of a server
bug (or change). Thus these are not common assertions that indicate a bug
in libnm and are thus not armed unless explicitly requested. In our CI we
should now always run with LIBNM_CLIENT_DEBUG=warning,error and
G_DEBUG=fatal-warnings and to catch bugs. Note that currently
NetworkManager has bugs in this regard, so enabling this will result in
assertion failures. That should be fixed first.
- Note that this changes the order in which we emit "notify:devices" and
"device-added" signals. I think it makes the most sense to emit first
"device-removed", then "notify:devices", and finally "device-added"
signals.
This changes behavior for commit 52ae28f6e5bf ('libnm: queue
added/removed signals and suppress uninitialized notifications'),
but I don't think that users should actually rely on the order. Still,
the new order makes the most sense to me.
- In NetworkManager, profiles can be invisible to the user by setting
"connection.permissions". Such profiles would be hidden by NMClient's
nm_client_get_connections() and their "connection-added"/"connection-removed"
signals.
Note that NMActiveConnection's nm_active_connection_get_connection()
and NMDevice's nm_device_get_available_connections() still exposes such
hidden NMRemoteConnection instances. This behavior was preserved.
NUMBERS
-------
I compared 3 versions of libnm.
[1] 962297f9085d, current tip of nm-1-20 branch
[2] 4fad8c7c642e, current master, immediate parent of this patch
[3] this patch
All tests were done on Fedora 31, x86_64, gcc 9.2.1-1.fc31.
The libraries were build with
$ ./contrib/fedora/rpm/build_clean.sh -g -w test -W debug
Note that RPM build already stripped the library.
---
N1) File size of libnm.so.0.1.0 in bytes. There currently seems to be a issue
on Fedora 31 generating wrong ELF notes. Usually, libnm is smaller but
in these tests it had large (and bogus) ELF notes. Anyway, the point
is to show the relative sizes, so it doesn't matter).
[1] 4075552 (102.7%)
[2] 3969624 (100.0%)
[3] 3705208 ( 93.3%)
---
N2) `size /usr/lib64/libnm.so.0.1.0`:
text data bss dec hex filename
[1] 1314569 (102.0%) 69980 ( 94.8%) 10632 ( 80.4%) 1395181 (101.4%) 1549ed /usr/lib64/libnm.so.0.1.0
[2] 1288410 (100.0%) 73796 (100.0%) 13224 (100.0%) 1375430 (100.0%) 14fcc6 /usr/lib64/libnm.so.0.1.0
[3] 1229066 ( 95.4%) 65248 ( 88.4%) 13400 (101.3%) 1307714 ( 95.1%) 13f442 /usr/lib64/libnm.so.0.1.0
---
N3) Performance test with test-client.py. With checkout of [2], run
```
prepare_checkout() {
rm -rf /tmp/nm-test && \
git checkout -B test 4fad8c7c642e && \
git clean -fdx && \
./autogen.sh --prefix=/tmp/nm-test && \
make -j 5 install && \
make -j 5 check-local-clients-tests-test-client
}
prepare_test() {
NM_TEST_REGENERATE=1 NM_TEST_CLIENT_BUILDDIR="/data/src/NetworkManager" NM_TEST_CLIENT_NMCLI_PATH=/usr/bin/nmcli python3 ./clients/tests/test-client.py -v
}
do_test() {
for i in {1..10}; do
NM_TEST_CLIENT_BUILDDIR="/data/src/NetworkManager" NM_TEST_CLIENT_NMCLI_PATH=/usr/bin/nmcli python3 ./clients/tests/test-client.py -v || return -1
done
echo "done!"
}
prepare_checkout
prepare_test
time do_test
```
[1] real 2m14.497s (101.3%) user 5m26.651s (100.3%) sys 1m40.453s (101.4%)
[2] real 2m12.800s (100.0%) user 5m25.619s (100.0%) sys 1m39.065s (100.0%)
[3] real 1m54.915s ( 86.5%) user 4m18.585s ( 79.4%) sys 1m32.066s ( 92.9%)
---
N4) Performance. Run NetworkManager from build [2] and setup a large number
of profiles (551 profiles and 515 devices, mostly unrealized). This
setup is already at the edge of what NetworkManager currently can
handle. Of course, that is a different issue. Here we just check how
long plain `nmcli` takes on the system.
```
do_cleanup() {
for UUID in $(nmcli -g NAME,UUID connection show | sed -n 's/^xx-c-.*:\([^:]\+\)$/\1/p'); do
nmcli connection delete uuid "$UUID"
done
for DEVICE in $(nmcli -g DEVICE device status | grep '^xx-i-'); do
nmcli device delete "$DEVICE"
done
}
do_setup() {
do_cleanup
for i in {1..30}; do
nmcli connection add type bond autoconnect no con-name xx-c-bond-$i ifname xx-i-bond-$i ipv4.method disabled ipv6.method ignore
for j in $(seq $i 30); do
nmcli connection add type vlan autoconnect no con-name xx-c-vlan-$i-$j vlan.id $j ifname xx-i-vlan-$i-$j vlan.parent xx-i-bond-$i ipv4.method disabled ipv6.method ignore
done
done
systemctl restart NetworkManager.service
sleep 5
}
do_test() {
perf stat -r 50 -B nmcli 1>/dev/null
}
do_test
```
[1]
Performance counter stats for 'nmcli' (50 runs):
456.33 msec task-clock:u # 1.093 CPUs utilized ( +- 0.44% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
5,900 page-faults:u # 0.013 M/sec ( +- 0.02% )
1,408,675,453 cycles:u # 3.087 GHz ( +- 0.48% )
1,594,741,060 instructions:u # 1.13 insn per cycle ( +- 0.02% )
368,744,018 branches:u # 808.061 M/sec ( +- 0.02% )
4,566,058 branch-misses:u # 1.24% of all branches ( +- 0.76% )
0.41761 +- 0.00282 seconds time elapsed ( +- 0.68% )
[2]
Performance counter stats for 'nmcli' (50 runs):
477.99 msec task-clock:u # 1.088 CPUs utilized ( +- 0.36% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
5,948 page-faults:u # 0.012 M/sec ( +- 0.03% )
1,471,133,482 cycles:u # 3.078 GHz ( +- 0.36% )
1,655,275,369 instructions:u # 1.13 insn per cycle ( +- 0.02% )
382,595,152 branches:u # 800.433 M/sec ( +- 0.02% )
4,746,070 branch-misses:u # 1.24% of all branches ( +- 0.49% )
0.43923 +- 0.00242 seconds time elapsed ( +- 0.55% )
[3]
Performance counter stats for 'nmcli' (50 runs):
352.36 msec task-clock:u # 1.027 CPUs utilized ( +- 0.32% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
4,790 page-faults:u # 0.014 M/sec ( +- 0.26% )
1,092,341,186 cycles:u # 3.100 GHz ( +- 0.26% )
1,209,045,283 instructions:u # 1.11 insn per cycle ( +- 0.02% )
281,708,462 branches:u # 799.499 M/sec ( +- 0.01% )
3,101,031 branch-misses:u # 1.10% of all branches ( +- 0.61% )
0.34296 +- 0.00120 seconds time elapsed ( +- 0.35% )
---
N5) same setup as N4), but run `PAGER= /bin/time -v nmcli`:
[1]
Command being timed: "nmcli"
User time (seconds): 0.42
System time (seconds): 0.04
Percent of CPU this job got: 107%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.43
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 34456
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 6128
Voluntary context switches: 1298
Involuntary context switches: 1106
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
[2]
Command being timed: "nmcli"
User time (seconds): 0.44
System time (seconds): 0.04
Percent of CPU this job got: 108%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.44
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 34452
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 6169
Voluntary context switches: 1849
Involuntary context switches: 142
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
[3]
Command being timed: "nmcli"
User time (seconds): 0.32
System time (seconds): 0.02
Percent of CPU this job got: 102%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.34
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 29196
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 5059
Voluntary context switches: 919
Involuntary context switches: 685
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
---
N6) same setup as N4), but run `nmcli monitor` and look at `ps aux` for
the RSS size.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
[1] me 1492900 21.0 0.2 461348 33248 pts/10 Sl+ 15:02 0:00 nmcli monitor
[2] me 1490721 5.0 0.2 461496 33548 pts/10 Sl+ 15:00 0:00 nmcli monitor
[3] me 1495801 16.5 0.1 459476 28692 pts/10 Sl+ 15:04 0:00 nmcli monitor
2019-10-30 10:42:58 +00:00
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
libnm_lib_c_real = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-client.c \
|
|
|
|
src/libnm-client-impl/nm-object.c \
|
|
|
|
src/libnm-client-impl/nm-device.c \
|
|
|
|
src/libnm-client-impl/nm-active-connection.c \
|
libnm: refactor caching of D-Bus objects in NMClient
No longer use GDBusObjectMangaerClient and gdbus-codegen generated classes
for the NMClient cache. Instead, use GDBusConnection directly and a
custom implementation (NMLDBusObject) for caching D-Bus' ObjectManager
data.
CHANGES
-------
- This is a complete rework. I think the previous implementation was
difficult to understand. There were unfixed bugs and nobody understood
the code well enough to fix them. Maybe somebody out there understood the
code, but I certainly did not. At least nobody provided patches to fix those
issues. I do believe that this implementation is more straightforward and
easier to understand. It removes a lot of layers of code. Whether this claim
of simplicity is true, each reader must decide for himself/herself. Note
that it is still fairly complex.
- There was a lingering performance issue with large number of D-Bus
objects. The patch tries hard that the implementation scales well. Of
course, when we cache N objects that have N-to-M references to other,
we still are fundamentally O(N*M) for runtime and memory consumption (with
M being the number of references between objects). But each part should behave
efficiently and well.
- Play well with GMainContext. libnm code (NMClient) is generally not
thread safe. However, it should work to use multiple instances in
parallel, as long as each access to a NMClient is through the caller's
GMainContext. This follows glib's style and effectively allows to use NMClient
in a multi threaded scenario. This implies to stick to a main context
upon construction and ensure that callbacks are only invoked when
iterating that context. Also, NMClient itself shall never iterate the
caller's context. This also means, libnm must never use g_idle_add() or
g_timeout_add(), as those enqueue sources in the g_main_context_default()
context.
- Get ordering of messages right. All events are consistently enqueued
in a GMainContext and processed strictly in order. For example,
previously "nm-object.c" tried to combine signals and emit them on an
idle handler. That is wrong, signals must be emitted in the right order
and when they happen. Note that when using GInitable's synchronous initialization
to initialize the NMClient instance, NMClient internally still operates fully
asynchronously. In that case NMClient has an internal main context.
- NMClient takes over most of the functionality. When using D-Bus'
ObjectManager interface, one needs to handle basically the entire state
of the D-Bus interface. That cannot be separated well into distinct
parts, and even if you try, you just end up having closely related code
in different source files. Spreading related code does not make it
easier to understand, on the contrary. That means, NMClient is
inherently complex as it contains most of the logic. I think that is
not avoidable, but it's not as bad as it sounds.
- NMClient processes D-Bus messages and state changes in separate steps.
First NMClient unpacks the message (e.g. _dbus_handle_properties_changed()) and
keeps track of the changed data. Then we update the GObject instances
(_dbus_handle_obj_changed_dbus()) without emitting any signals yet. Finally,
we emit all signals and notifications that were collected
(_dbus_handle_changes_commit()). Note that for example during the initial
GetManagedObjects() reply, NMClient receive a large amount of state at once.
But we first apply all the changes to our GObject instances before
emitting any signals. The result is that signals are always emitted in a moment
when the cache is consistent. The unavoidable downside is that when you receive
a property changed signal, possibly many other properties changed
already and more signals are about to be emitted.
- NMDeviceWifi no longer modifies the content of the cache from client side
during poke_wireless_devices_with_rf_status(). The content of the cache
should be determined by D-Bus alone and follow what NetworkManager
service exposes. Local modifications should be avoided.
- This aims to bring no API/ABI change, though it does of course bring
various subtle changes in behavior. Those should be all for the better, but the
goal is not to break any existing clients. This does change internal
(albeit externally visible) API, like dropping NM_OBJECT_DBUS_OBJECT_MANAGER
property and NMObject no longer implementing GInitableIface and GAsyncInitableIface.
- Some uses of gdbus-codegen classes remain in NMVpnPluginOld, NMVpnServicePlugin
and NMSecretAgentOld. These are independent of NMClient/NMObject and
should be reworked separately.
- While we no longer use generated classes from gdbus-codegen, we don't
need more glue code than before. Also before we constructed NMPropertiesInfo and
a had large amount of code to propagate properties from NMDBus* to NMObject.
That got completely reworked, but did not fundamentally change. You still need
about the same effort to create the NMLDBusMetaIface. Not using
generated bindings did not make anything worse (which tells about the
usefulness of generated code, at least in the way it was used).
- NMLDBusMetaIface and other meta data is static and immutable. This
avoids copying them around. Also, macros like NML_DBUS_META_PROPERTY_INIT_U()
have compile time checks to ensure the property types matches. It's pretty hard
to misuse them because it won't compile.
- The meta data now explicitly encodes the expected D-Bus types and
makes sure never to accept wrong data. That would only matter when the
server (accidentally or intentionally) exposes unexpected types on
D-Bus. I don't think that was previously ensured in all cases.
For example, demarshal_generic() only cared about the GObject property
type, it didn't know the expected D-Bus type.
- Previously GDBusObjectManager would sometimes emit warnings (g_log()). Those
probably indicated real bugs. In any case, it prevented us from running CI
with G_DEBUG=fatal-warnings, because there would be just too many
unrelated crashes. Now we log debug messages that can be enabled with
"LIBNM_CLIENT_DEBUG=trace". Some of these messages can also be turned
into g_warning()/g_critical() by setting LIBNM_CLIENT_DEBUG=warning,error.
Together with G_DEBUG=fatal-warnings, this turns them into assertions.
Note that such "assertion failures" might also happen because of a server
bug (or change). Thus these are not common assertions that indicate a bug
in libnm and are thus not armed unless explicitly requested. In our CI we
should now always run with LIBNM_CLIENT_DEBUG=warning,error and
G_DEBUG=fatal-warnings and to catch bugs. Note that currently
NetworkManager has bugs in this regard, so enabling this will result in
assertion failures. That should be fixed first.
- Note that this changes the order in which we emit "notify:devices" and
"device-added" signals. I think it makes the most sense to emit first
"device-removed", then "notify:devices", and finally "device-added"
signals.
This changes behavior for commit 52ae28f6e5bf ('libnm: queue
added/removed signals and suppress uninitialized notifications'),
but I don't think that users should actually rely on the order. Still,
the new order makes the most sense to me.
- In NetworkManager, profiles can be invisible to the user by setting
"connection.permissions". Such profiles would be hidden by NMClient's
nm_client_get_connections() and their "connection-added"/"connection-removed"
signals.
Note that NMActiveConnection's nm_active_connection_get_connection()
and NMDevice's nm_device_get_available_connections() still exposes such
hidden NMRemoteConnection instances. This behavior was preserved.
NUMBERS
-------
I compared 3 versions of libnm.
[1] 962297f9085d, current tip of nm-1-20 branch
[2] 4fad8c7c642e, current master, immediate parent of this patch
[3] this patch
All tests were done on Fedora 31, x86_64, gcc 9.2.1-1.fc31.
The libraries were build with
$ ./contrib/fedora/rpm/build_clean.sh -g -w test -W debug
Note that RPM build already stripped the library.
---
N1) File size of libnm.so.0.1.0 in bytes. There currently seems to be a issue
on Fedora 31 generating wrong ELF notes. Usually, libnm is smaller but
in these tests it had large (and bogus) ELF notes. Anyway, the point
is to show the relative sizes, so it doesn't matter).
[1] 4075552 (102.7%)
[2] 3969624 (100.0%)
[3] 3705208 ( 93.3%)
---
N2) `size /usr/lib64/libnm.so.0.1.0`:
text data bss dec hex filename
[1] 1314569 (102.0%) 69980 ( 94.8%) 10632 ( 80.4%) 1395181 (101.4%) 1549ed /usr/lib64/libnm.so.0.1.0
[2] 1288410 (100.0%) 73796 (100.0%) 13224 (100.0%) 1375430 (100.0%) 14fcc6 /usr/lib64/libnm.so.0.1.0
[3] 1229066 ( 95.4%) 65248 ( 88.4%) 13400 (101.3%) 1307714 ( 95.1%) 13f442 /usr/lib64/libnm.so.0.1.0
---
N3) Performance test with test-client.py. With checkout of [2], run
```
prepare_checkout() {
rm -rf /tmp/nm-test && \
git checkout -B test 4fad8c7c642e && \
git clean -fdx && \
./autogen.sh --prefix=/tmp/nm-test && \
make -j 5 install && \
make -j 5 check-local-clients-tests-test-client
}
prepare_test() {
NM_TEST_REGENERATE=1 NM_TEST_CLIENT_BUILDDIR="/data/src/NetworkManager" NM_TEST_CLIENT_NMCLI_PATH=/usr/bin/nmcli python3 ./clients/tests/test-client.py -v
}
do_test() {
for i in {1..10}; do
NM_TEST_CLIENT_BUILDDIR="/data/src/NetworkManager" NM_TEST_CLIENT_NMCLI_PATH=/usr/bin/nmcli python3 ./clients/tests/test-client.py -v || return -1
done
echo "done!"
}
prepare_checkout
prepare_test
time do_test
```
[1] real 2m14.497s (101.3%) user 5m26.651s (100.3%) sys 1m40.453s (101.4%)
[2] real 2m12.800s (100.0%) user 5m25.619s (100.0%) sys 1m39.065s (100.0%)
[3] real 1m54.915s ( 86.5%) user 4m18.585s ( 79.4%) sys 1m32.066s ( 92.9%)
---
N4) Performance. Run NetworkManager from build [2] and setup a large number
of profiles (551 profiles and 515 devices, mostly unrealized). This
setup is already at the edge of what NetworkManager currently can
handle. Of course, that is a different issue. Here we just check how
long plain `nmcli` takes on the system.
```
do_cleanup() {
for UUID in $(nmcli -g NAME,UUID connection show | sed -n 's/^xx-c-.*:\([^:]\+\)$/\1/p'); do
nmcli connection delete uuid "$UUID"
done
for DEVICE in $(nmcli -g DEVICE device status | grep '^xx-i-'); do
nmcli device delete "$DEVICE"
done
}
do_setup() {
do_cleanup
for i in {1..30}; do
nmcli connection add type bond autoconnect no con-name xx-c-bond-$i ifname xx-i-bond-$i ipv4.method disabled ipv6.method ignore
for j in $(seq $i 30); do
nmcli connection add type vlan autoconnect no con-name xx-c-vlan-$i-$j vlan.id $j ifname xx-i-vlan-$i-$j vlan.parent xx-i-bond-$i ipv4.method disabled ipv6.method ignore
done
done
systemctl restart NetworkManager.service
sleep 5
}
do_test() {
perf stat -r 50 -B nmcli 1>/dev/null
}
do_test
```
[1]
Performance counter stats for 'nmcli' (50 runs):
456.33 msec task-clock:u # 1.093 CPUs utilized ( +- 0.44% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
5,900 page-faults:u # 0.013 M/sec ( +- 0.02% )
1,408,675,453 cycles:u # 3.087 GHz ( +- 0.48% )
1,594,741,060 instructions:u # 1.13 insn per cycle ( +- 0.02% )
368,744,018 branches:u # 808.061 M/sec ( +- 0.02% )
4,566,058 branch-misses:u # 1.24% of all branches ( +- 0.76% )
0.41761 +- 0.00282 seconds time elapsed ( +- 0.68% )
[2]
Performance counter stats for 'nmcli' (50 runs):
477.99 msec task-clock:u # 1.088 CPUs utilized ( +- 0.36% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
5,948 page-faults:u # 0.012 M/sec ( +- 0.03% )
1,471,133,482 cycles:u # 3.078 GHz ( +- 0.36% )
1,655,275,369 instructions:u # 1.13 insn per cycle ( +- 0.02% )
382,595,152 branches:u # 800.433 M/sec ( +- 0.02% )
4,746,070 branch-misses:u # 1.24% of all branches ( +- 0.49% )
0.43923 +- 0.00242 seconds time elapsed ( +- 0.55% )
[3]
Performance counter stats for 'nmcli' (50 runs):
352.36 msec task-clock:u # 1.027 CPUs utilized ( +- 0.32% )
0 context-switches:u # 0.000 K/sec
0 cpu-migrations:u # 0.000 K/sec
4,790 page-faults:u # 0.014 M/sec ( +- 0.26% )
1,092,341,186 cycles:u # 3.100 GHz ( +- 0.26% )
1,209,045,283 instructions:u # 1.11 insn per cycle ( +- 0.02% )
281,708,462 branches:u # 799.499 M/sec ( +- 0.01% )
3,101,031 branch-misses:u # 1.10% of all branches ( +- 0.61% )
0.34296 +- 0.00120 seconds time elapsed ( +- 0.35% )
---
N5) same setup as N4), but run `PAGER= /bin/time -v nmcli`:
[1]
Command being timed: "nmcli"
User time (seconds): 0.42
System time (seconds): 0.04
Percent of CPU this job got: 107%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.43
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 34456
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 6128
Voluntary context switches: 1298
Involuntary context switches: 1106
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
[2]
Command being timed: "nmcli"
User time (seconds): 0.44
System time (seconds): 0.04
Percent of CPU this job got: 108%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.44
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 34452
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 6169
Voluntary context switches: 1849
Involuntary context switches: 142
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
[3]
Command being timed: "nmcli"
User time (seconds): 0.32
System time (seconds): 0.02
Percent of CPU this job got: 102%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.34
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 29196
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 5059
Voluntary context switches: 919
Involuntary context switches: 685
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0
---
N6) same setup as N4), but run `nmcli monitor` and look at `ps aux` for
the RSS size.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
[1] me 1492900 21.0 0.2 461348 33248 pts/10 Sl+ 15:02 0:00 nmcli monitor
[2] me 1490721 5.0 0.2 461496 33548 pts/10 Sl+ 15:00 0:00 nmcli monitor
[3] me 1495801 16.5 0.1 459476 28692 pts/10 Sl+ 15:04 0:00 nmcli monitor
2019-10-30 10:42:58 +00:00
|
|
|
\
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-access-point.c \
|
|
|
|
src/libnm-client-impl/nm-checkpoint.c \
|
2022-07-20 16:08:00 +00:00
|
|
|
src/libnm-client-impl/nm-conn-utils.c \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-dbus-helpers.c \
|
|
|
|
src/libnm-client-impl/nm-device-6lowpan.c \
|
|
|
|
src/libnm-client-impl/nm-device-adsl.c \
|
|
|
|
src/libnm-client-impl/nm-device-bond.c \
|
|
|
|
src/libnm-client-impl/nm-device-bridge.c \
|
|
|
|
src/libnm-client-impl/nm-device-bt.c \
|
|
|
|
src/libnm-client-impl/nm-device-dummy.c \
|
|
|
|
src/libnm-client-impl/nm-device-ethernet.c \
|
|
|
|
src/libnm-client-impl/nm-device-generic.c \
|
2023-10-27 12:01:13 +00:00
|
|
|
src/libnm-client-impl/nm-device-hsr.c \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-device-infiniband.c \
|
|
|
|
src/libnm-client-impl/nm-device-ip-tunnel.c \
|
2022-06-12 23:50:09 +00:00
|
|
|
src/libnm-client-impl/nm-device-loopback.c \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-device-macsec.c \
|
|
|
|
src/libnm-client-impl/nm-device-macvlan.c \
|
|
|
|
src/libnm-client-impl/nm-device-modem.c \
|
|
|
|
src/libnm-client-impl/nm-device-olpc-mesh.c \
|
|
|
|
src/libnm-client-impl/nm-device-ovs-bridge.c \
|
|
|
|
src/libnm-client-impl/nm-device-ovs-interface.c \
|
|
|
|
src/libnm-client-impl/nm-device-ovs-port.c \
|
|
|
|
src/libnm-client-impl/nm-device-ppp.c \
|
|
|
|
src/libnm-client-impl/nm-device-team.c \
|
|
|
|
src/libnm-client-impl/nm-device-tun.c \
|
|
|
|
src/libnm-client-impl/nm-device-veth.c \
|
|
|
|
src/libnm-client-impl/nm-device-vlan.c \
|
|
|
|
src/libnm-client-impl/nm-device-vrf.c \
|
|
|
|
src/libnm-client-impl/nm-device-vxlan.c \
|
|
|
|
src/libnm-client-impl/nm-device-wifi-p2p.c \
|
|
|
|
src/libnm-client-impl/nm-device-wifi.c \
|
|
|
|
src/libnm-client-impl/nm-device-wimax.c \
|
|
|
|
src/libnm-client-impl/nm-device-wireguard.c \
|
|
|
|
src/libnm-client-impl/nm-device-wpan.c \
|
|
|
|
src/libnm-client-impl/nm-dhcp-config.c \
|
|
|
|
src/libnm-client-impl/nm-dhcp4-config.c \
|
|
|
|
src/libnm-client-impl/nm-dhcp6-config.c \
|
|
|
|
src/libnm-client-impl/nm-dns-manager.c \
|
|
|
|
src/libnm-client-impl/nm-ip-config.c \
|
|
|
|
src/libnm-client-impl/nm-ip4-config.c \
|
|
|
|
src/libnm-client-impl/nm-ip6-config.c \
|
|
|
|
src/libnm-client-impl/nm-libnm-utils.c \
|
|
|
|
src/libnm-client-impl/nm-remote-connection.c \
|
|
|
|
src/libnm-client-impl/nm-secret-agent-old.c \
|
|
|
|
src/libnm-client-impl/nm-vpn-connection.c \
|
|
|
|
src/libnm-client-impl/nm-vpn-editor.c \
|
|
|
|
src/libnm-client-impl/nm-vpn-plugin-old.c \
|
|
|
|
src/libnm-client-impl/nm-vpn-service-plugin.c \
|
|
|
|
src/libnm-client-impl/nm-wifi-p2p-peer.c \
|
|
|
|
src/libnm-client-impl/nm-wimax-nsp.c \
|
|
|
|
$(NULL)
|
|
|
|
src_libnm_client_public_mkenums_c = \
|
|
|
|
src/libnm-client-public/nm-enum-types.c \
|
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
|
|
|
libnminclude_HEADERS += \
|
2017-12-15 13:35:32 +00:00
|
|
|
$(libnm_lib_h_pub_real)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
|
|
|
nodist_libnminclude_HEADERS += \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_public_mkenums_h)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
2021-03-25 10:27:26 +00:00
|
|
|
EXTRA_DIST += src/libnm-client-public/meson.build
|
|
|
|
|
2023-02-28 15:22:13 +00:00
|
|
|
check-local-nm-autoptr:
|
|
|
|
$(srcdir)/tools/check-nm-autoptr.sh
|
|
|
|
|
|
|
|
check_local += check-local-nm-autoptr
|
|
|
|
|
2016-11-15 13:35:48 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2022-10-26 08:24:07 +00:00
|
|
|
noinst_PROGRAMS += src/libnm-core-impl/gen-metadata-nm-settings-libnm-core
|
|
|
|
|
|
|
|
src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_SOURCES = \
|
|
|
|
src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.c \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_CPPFLAGS = \
|
|
|
|
$(clients_cppflags) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_LDADD = \
|
|
|
|
src/libnm-core-impl/libnm-core-impl.la \
|
|
|
|
src/libnm-crypto/libnm-crypto.la \
|
|
|
|
$(libnm_crypto_lib) \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
|
|
|
src/libnm-base/libnm-base.la \
|
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
|
|
|
src/c-siphash/libc-siphash.la \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_LDFLAGS = \
|
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
$(src_libnm_core_impl_gen_metadata_nm_settings_libnm_core_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-client-impl/libnm-client-impl.la
|
2017-05-19 08:19:25 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_client_impl_la_CPPFLAGS = \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
$(dflt_cppflags_libnm_core) \
|
2017-11-04 19:41:45 +00:00
|
|
|
$(INTROSPECTION_CFLAGS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2017-05-19 08:19:25 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_client_impl_la_SOURCES = \
|
2019-05-15 09:20:33 +00:00
|
|
|
$(libnm_lib_c_real) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2017-05-19 08:19:25 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
nodist_src_libnm_client_impl_libnm_client_impl_la_SOURCES = \
|
|
|
|
$(src_libnm_client_public_mkenums_h) \
|
|
|
|
$(src_libnm_client_public_mkenums_c) \
|
2019-10-17 06:41:01 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_client_impl_la_LIBADD = \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-impl/libnm-core-impl.la \
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-crypto/libnm-crypto.la \
|
2018-08-30 06:30:19 +00:00
|
|
|
$(libnm_crypto_lib) \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2017-05-19 08:19:25 +00:00
|
|
|
introspection/libnmdbus.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-udev-aux/libnm-udev-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_LIBS) \
|
2019-05-15 09:20:33 +00:00
|
|
|
$(DL_LIBS) \
|
2019-05-15 09:57:36 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2017-05-19 08:19:25 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_libnm_client_impl_la_OBJECTS) : $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_libnm_client_impl_libnm_client_impl_la_OBJECTS) : $(src_libnm_core_public_mkenums_h)
|
2017-05-19 08:19:25 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
lib_LTLIBRARIES += src/libnm-client-impl/libnm.la
|
2016-11-15 13:35:48 +00:00
|
|
|
|
|
|
|
GLIB_GENERATED += \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_public_mkenums_h) \
|
|
|
|
$(src_libnm_client_public_mkenums_c)
|
2016-11-15 13:35:48 +00:00
|
|
|
nm_enum_types_sources = \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_public_mkenums_h) \
|
2017-12-15 13:35:32 +00:00
|
|
|
$(libnm_lib_h_pub_real)
|
2021-02-17 15:11:49 +00:00
|
|
|
nm_enum_types_MKENUMS_H_FLAGS = --fhead '\#include "nm-core-enum-types.h"\n'
|
2021-02-19 14:23:34 +00:00
|
|
|
nm_enum_types_MKENUMS_C_FLAGS = --fhead '\#undef G_LOG_DOMAIN\n\#include "libnm-client-impl/nm-default-libnm.h"\n'
|
2016-11-15 13:35:48 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
$(src_nm_dispatcher_nm_dispatcher_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_nm_dispatcher_libnm_dispatcher_core_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_libnm_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2021-02-20 13:52:23 +00:00
|
|
|
$(src_contrib_tests_libnm_vpn_plugin_utils_test_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2016-11-20 14:03:45 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_la_CPPFLAGS = \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
$(dflt_cppflags_libnm_core) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(LIBUDEV_CFLAGS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_la_SOURCES = \
|
2016-11-15 13:35:48 +00:00
|
|
|
$(libnm_lib_h_pub_real) \
|
|
|
|
$(libnm_lib_h_priv) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-11-15 13:35:48 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
EXTRA_src_libnm_client_impl_libnm_la_DEPENDENCIES = \
|
|
|
|
src/libnm-client-impl/libnm.ver
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_la_LIBADD = \
|
|
|
|
src/libnm-client-impl/libnm-client-impl.la \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_libnm_la_LDFLAGS = \
|
|
|
|
-Wl,--version-script="$(srcdir)/src/libnm-client-impl/libnm.ver" \
|
2016-10-14 13:54:40 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(SANITIZER_LIB_LDFLAGS) \
|
2016-10-14 13:54:40 +00:00
|
|
|
-version-info "1:0:1"
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
check-local-exports-libnm: src/libnm-client-impl/libnm.la
|
|
|
|
$(srcdir)/tools/check-exports.sh "$(builddir)/src/libnm-client-impl/.libs/libnm.so" "$(srcdir)/src/libnm-client-impl/libnm.ver"
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
check_local += check-local-exports-libnm
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
pkgconfig_DATA += src/libnm-client-impl/libnm.pc
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
DISTCLEANFILES += \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.pc
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-public/nm-enum-types.c.template \
|
|
|
|
src/libnm-client-public/nm-enum-types.h.template \
|
2021-02-17 13:24:11 +00:00
|
|
|
\
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.pc.in \
|
|
|
|
src/libnm-client-impl/libnm.ver
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2022-11-07 19:08:50 +00:00
|
|
|
###############################################################################
|
2021-02-19 14:23:34 +00:00
|
|
|
|
|
|
|
src/libnm-client-impl/NM-1.0.gir: src/libnm-client-impl/libnm.la
|
|
|
|
src_libnm_client_impl_NM_1_0_gir_INCLUDES = Gio-2.0
|
|
|
|
src_libnm_client_impl_NM_1_0_gir_PACKAGES = gio-2.0
|
|
|
|
src_libnm_client_impl_NM_1_0_gir_EXPORT_PACKAGES = libnm
|
|
|
|
src_libnm_client_impl_NM_1_0_gir_CFLAGS = \
|
2022-04-07 08:53:06 +00:00
|
|
|
$(filter-out -DGLIB_VERSION_%, $(src_libnm_client_impl_libnm_la_CPPFLAGS)) \
|
2021-02-04 15:04:15 +00:00
|
|
|
-DNETWORKMANAGER_COMPILATION \
|
|
|
|
$(NULL)
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_NM_1_0_gir_LIBS = src/libnm-client-impl/libnm.la
|
|
|
|
src_libnm_client_impl_NM_1_0_gir_FILES = \
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_libnm_core_public_mkenums_h) \
|
|
|
|
$(src_libnm_core_impl_lib_h_pub_real) \
|
|
|
|
$(src_libnm_core_public_mkenums_c) \
|
|
|
|
$(src_libnm_core_impl_lib_c_real) \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_public_mkenums_h) \
|
2016-11-15 13:35:48 +00:00
|
|
|
$(libnm_lib_h_pub_real) \
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_public_mkenums_c) \
|
2016-11-15 13:35:48 +00:00
|
|
|
$(libnm_lib_c_real)
|
2023-02-22 22:23:22 +00:00
|
|
|
src_libnm_client_impl_NM_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=NM --symbol-prefix=nm --c-include="NetworkManager.h"
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.typelib: src/libnm-client-impl/libnm.gir
|
|
|
|
$(INTROSPECTION_COMPILER) --includedir=$(srcdir)/src/libnm-core-public --includedir=$(builddir)/src/libnm-core-public --includedir=$(srcdir)/libnm-client-public --includedir=$(builddir)/libnm-client-public $< -o $@
|
2016-10-18 13:53:05 +00:00
|
|
|
|
2017-11-04 19:41:45 +00:00
|
|
|
|
2016-10-14 13:54:40 +00:00
|
|
|
libnm_noinst_data = \
|
2022-10-26 08:24:07 +00:00
|
|
|
src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml \
|
2022-10-26 08:19:19 +00:00
|
|
|
src/nmcli/gen-metadata-nm-settings-nmcli.xml \
|
2021-03-01 11:42:48 +00:00
|
|
|
man/nm-settings-docs-dbus.xml \
|
|
|
|
man/nm-settings-docs-nmcli.xml \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/nm-property-infos-dbus.xml \
|
|
|
|
src/libnm-client-impl/nm-property-infos-ifcfg-rh.xml \
|
|
|
|
src/libnm-client-impl/nm-property-infos-keyfile.xml \
|
|
|
|
src/libnm-client-impl/nm-property-infos-nmcli.xml \
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
src/libnm-client-impl/nm-settings-docs-gir-dbus.xml \
|
|
|
|
src/libnm-client-impl/nm-settings-docs-gir-ifcfg-rh.xml \
|
|
|
|
src/libnm-client-impl/nm-settings-docs-gir-keyfile.xml \
|
|
|
|
src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/settings-docs-input.xml \
|
2020-05-28 11:51:56 +00:00
|
|
|
$(NULL)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2022-11-07 19:08:50 +00:00
|
|
|
if HAVE_INTROSPECTION
|
|
|
|
INTROSPECTION_GIRS += src/libnm-client-impl/NM-1.0.gir
|
2016-10-14 13:54:40 +00:00
|
|
|
noinst_DATA += $(libnm_noinst_data)
|
2022-11-07 19:08:50 +00:00
|
|
|
DISTCLEANFILES += $(libnm_noinst_data)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2022-11-07 19:08:50 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
src/nmcli/gen-metadata-nm-settings-nmcli.xml.in \
|
|
|
|
src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in
|
|
|
|
|
|
|
|
src_libnm_client_impl_NM_1_0_typelib = src/libnm-client-impl/NM-1.0.typelib
|
|
|
|
else
|
|
|
|
src_libnm_client_impl_NM_1_0_typelib =
|
|
|
|
endif
|
|
|
|
|
|
|
|
###############################################################################
|
2020-11-01 16:36:22 +00:00
|
|
|
|
|
|
|
if BUILD_DOCS
|
2022-10-26 08:19:19 +00:00
|
|
|
src/nmcli/gen-metadata-nm-settings-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli
|
|
|
|
$(AM_V_GEN) src/nmcli/gen-metadata-nm-settings-nmcli > "$@"
|
|
|
|
check-local-gen-metadata-nm-settings-nmcli: src/nmcli/gen-metadata-nm-settings-nmcli.xml
|
|
|
|
$(srcdir)/tools/check-compare-generated.sh "$(srcdir)/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in" "$(builddir)/src/nmcli/gen-metadata-nm-settings-nmcli.xml"
|
|
|
|
check_local += check-local-gen-metadata-nm-settings-nmcli
|
|
|
|
DISTCLEANFILES += src/nmcli/gen-metadata-nm-settings-nmcli.xml
|
2020-06-04 14:53:40 +00:00
|
|
|
|
2022-10-26 08:24:07 +00:00
|
|
|
src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core
|
|
|
|
$(AM_V_GEN) src/libnm-core-impl/gen-metadata-nm-settings-libnm-core > "$@"
|
|
|
|
check-local-gen-metadata-nm-settings-libnm-core: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml
|
|
|
|
$(srcdir)/tools/check-compare-generated.sh "$(srcdir)/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in" "$(builddir)/src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml"
|
|
|
|
check_local += check-local-gen-metadata-nm-settings-libnm-core
|
|
|
|
DISTCLEANFILES += src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml
|
|
|
|
else
|
2022-11-07 19:08:50 +00:00
|
|
|
src/nmcli/gen-metadata-nm-settings-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
|
|
|
|
$(AM_V_GEN) cp $^ $@
|
|
|
|
check-local-gen-metadata-nm-settings-nmcli:
|
|
|
|
|
2022-10-26 08:24:07 +00:00
|
|
|
src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml: src/libnm-core-impl/gen-metadata-nm-settings-libnm-core.xml.in
|
|
|
|
$(AM_V_GEN) cp $^ $@
|
|
|
|
check-local-gen-metadata-nm-settings-libnm-core:
|
|
|
|
endif
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
libnm_docs_sources = $(src_libnm_core_impl_lib_c_settings_real)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
man nm-setting-*: add "expand enumvals" capability to property-infos
In some cases, properties documentation might require to provide an
explanation of each of the possible values that the property accepts.
If the possible values are the variants of an enum, we can use the
introspection data to get all the possible values for that enum and
their descriptions. With that info, we can automatically generate the
documentation with an always up to date list of accepted values.
Add a new "expand enumvals" feature: it will convert a token with the
format `#EnumName:*` to a list of all the possible values. For the
docbook (description-docbook field in the XML), it is expanded to a
bulleted list of all the values and their respective documentations.
This feature is limited to the "property-infos" comments (those like
---nmcli---, ---dbus---, etc). This comments are used only to generate
the nm-settings-* manual pages. For the documentation under the doc/
folder this is not needed: it's not supported by gtkdoc and, anyway,
it's better to use just `#EnumName` that will generate an HTML link.
Additionally, expansion of `%ENUM_VALUE` is now supported in the
property-infos comments. Instead of expanding them in the same style
than gtkdoc "ENUM_VALUE (num)", it is expanded in a format more suitable
for the nm-setting-* manual pages:
- for nmcli: value_nick (num)
- others: num (value_nick)
Also, fix typo in meson build file propery -> property.
2023-08-22 10:39:42 +00:00
|
|
|
src/libnm-client-impl/nm-property-infos-%.xml: tools/generate-docs-nm-property-infos.py src/libnm-core-impl/libnm-core-impl.la src/libnm-client-impl/NM-1.0.gir $(libnm_docs_sources)
|
2022-09-09 13:05:34 +00:00
|
|
|
$(AM_V_GEN) \
|
|
|
|
"$(PYTHON)" \
|
|
|
|
$(srcdir)/tools/generate-docs-nm-property-infos.py \
|
|
|
|
$(patsubst nm-property-infos-%.xml,%,$(notdir $@)) \
|
|
|
|
$@ \
|
|
|
|
$(wordlist 3,1000,$^)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
src/libnm-client-impl/nm-settings-docs-gir-%.xml: tools/generate-docs-nm-settings-docs-gir.py src/libnm-client-impl/NM-1.0.gir src/libnm-client-impl/NM-1.0.typelib src/libnm-client-impl/libnm.la $(libnm_docs_sources)
|
2016-11-16 19:03:16 +00:00
|
|
|
$(AM_V_GEN) \
|
2021-02-19 14:23:34 +00:00
|
|
|
export GI_TYPELIB_PATH=$(abs_builddir)/src/libnm-client-impl$${GI_TYPELIB_PATH:+:$$GI_TYPELIB_PATH}; \
|
|
|
|
export LD_LIBRARY_PATH=$(abs_builddir)/src/libnm-client-impl/.libs$${LD_LIBRARY_PATH:+:$$LD_LIBRARY_PATH}; \
|
|
|
|
$(call set_sanitizer_env,$(abs_builddir)/src/libnm-client-impl/.libs/libnm.so); \
|
2016-12-14 17:18:37 +00:00
|
|
|
"$(PYTHON)" \
|
2020-06-09 21:22:34 +00:00
|
|
|
$(srcdir)/tools/generate-docs-nm-settings-docs-gir.py \
|
2021-02-19 14:23:34 +00:00
|
|
|
--gir $(builddir)/src/libnm-client-impl/NM-1.0.gir \
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
--output $@ \
|
|
|
|
--target $(patsubst nm-settings-docs-gir-%.xml,%,$(notdir $@))
|
2016-10-14 13:54:40 +00:00
|
|
|
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
man/nm-settings-docs-nmcli.xml: src/nmcli/gen-metadata-nm-settings-nmcli.xml src/libnm-client-impl/nm-property-infos-nmcli.xml src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml tools/generate-docs-nm-settings-docs-merge.py man/common.ent
|
docs: rework selecting properties with "generate-docs-nm-settings-docs-merge.py"
"generate-docs-nm-settings-docs-merge.py" merges properties from
multiple XMLs. It supported an argument "--only-from-first", to
only select properties that were in the first of the provided XMLs.
The idea is that the first XML would be "src/nmcli/gen-metadata-nm-settings-nmcli.xml"
which is generated from nmcli meta-data and exactly describes the
supported properties. For example, "connection.read-only", "user.data"
or "wireless.tx-power" exist as properties somewhere, but not supported
by nmcli.
Change that, to not tie the selected property to the first XML.
"gen-metadata-nm-settings-nmcli.xml" is the XML that contains which
properties to select from, but "src/libnm-client-impl/nm-property-infos-nmcli.xml"
contains hand crafted descriptions. The latter descriptions are
preferred. As the order of the XML is already relevant for which
description is preferred, the selection is orthogonal to that.
With this, prefer descriptions from "src/libnm-client-impl/nm-property-infos-nmcli.xml"
but still select properties from "src/nmcli/gen-metadata-nm-settings-nmcli.xml".
Note that the argument is only used to generate "man/nm-settings-docs-nmcli.xml",
and with the current input, there is no actual change in behavior.
2023-05-18 20:17:55 +00:00
|
|
|
$(AM_V_GEN) \
|
|
|
|
"$(PYTHON)" \
|
|
|
|
"$(srcdir)/tools/generate-docs-nm-settings-docs-merge.py" \
|
|
|
|
"$@" \
|
|
|
|
--only-properties-from \
|
|
|
|
"$<" \
|
|
|
|
$(wordlist 1,3,$^)
|
2020-06-04 14:53:40 +00:00
|
|
|
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
src/libnmc-setting/settings-docs-input.xml: src/libnm-client-impl/nm-property-infos-nmcli.xml src/libnm-client-impl/nm-settings-docs-gir-nmcli.xml tools/generate-docs-nm-settings-docs-merge.py
|
2021-01-30 15:27:57 +00:00
|
|
|
$(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-nm-settings-docs-merge.py $@ $(wordlist 1,2,$^)
|
|
|
|
|
man nm-setting-*: proper format for gtkdoc constants
Gtkdoc comments are used, among other things, to generate the various
nm-setting-* manual pages. When a constant is referenced in a gtkdoc
comment (i.e. `%NM_IP_TUNNEL_MODE_IPIP`) it is expanded to show the C name
and the value (i.e. `NM_IP_TUNNEL_MODE_IPIP (1)`). To generate the
nm-setting-* manual pages, we don't use gtkdoc, but we process this data
with the custom script tools/generate-docs-nm-settings-docs-gir.py.
This script was expanding the constants in the same way than gtkdoc.
Showing the constants in that way in nm-setting-* manual pages makes
little sense, because users are not going to use the C identifiers.
Let's show them with a more appropriate format.
Additionally, the different nm-setting-* pages might require different
formats than the other. For example, for nm-setting-nmcli a format like
`"ipip" (1)` is prefered, but for nm-setting-dbus it's better
`1 (ipip)`. Let's generate different nm-settings-docs-gir-*.xml files for
nmcli, dbus, keyfile and ifcfg-rh, using the right format for each one.
2023-09-07 06:33:22 +00:00
|
|
|
man/nm-settings-docs-%.xml: src/libnm-client-impl/nm-property-infos-%.xml src/libnm-client-impl/nm-settings-docs-gir-%.xml tools/generate-docs-nm-settings-docs-merge.py man/common.ent
|
2020-06-09 21:22:34 +00:00
|
|
|
$(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-nm-settings-docs-merge.py $@ $(wordlist 1,2,$^)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-04-22 22:41:50 +00:00
|
|
|
tools/generate-docs-nm-property-infos.py \
|
2020-06-09 21:22:34 +00:00
|
|
|
tools/generate-docs-nm-settings-docs-merge.py \
|
|
|
|
tools/generate-docs-nm-settings-docs-gir.py \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/meson.build \
|
2020-05-28 11:51:56 +00:00
|
|
|
$(NULL)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
check_programs += src/libnm-client-impl/tests/test-libnm
|
2018-05-06 06:51:26 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_programs_req_introspection = \
|
|
|
|
src/libnm-client-impl/tests/test-nm-client \
|
|
|
|
src/libnm-client-impl/tests/test-remote-settings-client \
|
|
|
|
src/libnm-client-impl/tests/test-secret-agent
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2022-11-07 18:28:13 +00:00
|
|
|
check-local-libnm-gir: $(builddir)/src/libnm-client-impl/NM-1.0.gir
|
|
|
|
check-local-libnm-gir: $(srcdir)/src/libnm-client-impl/libnm.ver
|
|
|
|
check-local-libnm-gir:
|
|
|
|
"$(PYTHON)" $(srcdir)/src/libnm-client-impl/tests/test-gir.py \
|
|
|
|
--gir $(builddir)/src/libnm-client-impl/NM-1.0.gir \
|
|
|
|
--ver $(srcdir)/src/libnm-client-impl/libnm.ver
|
|
|
|
|
2018-05-06 06:51:26 +00:00
|
|
|
if HAVE_INTROSPECTION
|
2021-02-19 14:23:34 +00:00
|
|
|
check_programs += $(src_libnm_client_impl_tests_programs_req_introspection)
|
2022-11-07 18:28:13 +00:00
|
|
|
check_local += check-local-libnm-gir
|
2018-05-06 06:51:26 +00:00
|
|
|
else
|
2021-02-19 14:23:34 +00:00
|
|
|
check_programs_norun += $(src_libnm_client_impl_tests_programs_req_introspection)
|
2018-05-06 06:51:26 +00:00
|
|
|
endif
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_cppflags = \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(dflt_cppflags_libnm_core) \
|
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
2018-05-30 08:23:17 +00:00
|
|
|
$(NULL)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_ldadd = \
|
2021-02-20 11:37:48 +00:00
|
|
|
src/libnm-client-test/libnm-client-test.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm-client-impl.la \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_ldflags = \
|
2019-04-08 15:38:44 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_test_libnm_CPPFLAGS = $(src_libnm_client_impl_tests_cppflags)
|
|
|
|
src_libnm_client_impl_tests_test_nm_client_CPPFLAGS = $(src_libnm_client_impl_tests_cppflags)
|
|
|
|
src_libnm_client_impl_tests_test_remote_settings_client_CPPFLAGS = $(src_libnm_client_impl_tests_cppflags)
|
|
|
|
src_libnm_client_impl_tests_test_secret_agent_CPPFLAGS = $(src_libnm_client_impl_tests_cppflags)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_test_libnm_SOURCES = \
|
2021-02-24 07:51:19 +00:00
|
|
|
src/contrib/nm-compat.c \
|
|
|
|
src/contrib/nm-compat.h \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/tests/test-libnm.c \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2017-05-19 08:19:25 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_test_libnm_LDADD = $(src_libnm_client_impl_tests_ldadd)
|
|
|
|
src_libnm_client_impl_tests_test_nm_client_LDADD = $(src_libnm_client_impl_tests_ldadd)
|
|
|
|
src_libnm_client_impl_tests_test_remote_settings_client_LDADD = $(src_libnm_client_impl_tests_ldadd)
|
|
|
|
src_libnm_client_impl_tests_test_secret_agent_LDADD = $(src_libnm_client_impl_tests_ldadd)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
src_libnm_client_impl_tests_test_libnm_LDFLAGS = $(src_libnm_client_impl_tests_ldflags)
|
|
|
|
src_libnm_client_impl_tests_test_nm_client_LDFLAGS = $(src_libnm_client_impl_tests_ldflags)
|
|
|
|
src_libnm_client_impl_tests_test_remote_settings_client_LDFLAGS = $(src_libnm_client_impl_tests_ldflags)
|
|
|
|
src_libnm_client_impl_tests_test_secret_agent_LDFLAGS = $(src_libnm_client_impl_tests_ldflags)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_tests_test_libnm_OBJECTS): $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_libnm_client_impl_tests_test_nm_client_OBJECTS): $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_libnm_client_impl_tests_test_remote_settings_client_OBJECTS): $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_libnm_client_impl_tests_test_secret_agent_OBJECTS): $(src_libnm_core_public_mkenums_h) $(src_libnm_client_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-05-06 06:51:26 +00:00
|
|
|
# tools/test-networkmanager-service.py uses libnm's typelib. Ensure it
|
|
|
|
# is built first.
|
2021-02-19 14:23:34 +00:00
|
|
|
$(src_libnm_client_impl_tests_test_nm_client_OBJECTS): $(src_libnm_client_impl_NM_1_0_typelib)
|
|
|
|
$(src_libnm_client_impl_tests_test_remote_settings_client_OBJECTS): $(src_libnm_client_impl_NM_1_0_typelib)
|
|
|
|
$(src_libnm_client_impl_tests_test_secret_agent_OBJECTS): $(src_libnm_client_impl_NM_1_0_typelib)
|
2018-05-06 06:51:26 +00:00
|
|
|
|
2021-02-20 13:52:23 +00:00
|
|
|
EXTRA_DIST += \
|
2022-11-07 18:28:13 +00:00
|
|
|
src/libnm-client-impl/tests/meson.build \
|
|
|
|
src/libnm-client-impl/tests/test-gir.py
|
2021-02-20 13:52:23 +00:00
|
|
|
|
2016-10-15 14:24:59 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
# just test, that we can build "nm-vpn-plugin-utils.c"
|
|
|
|
|
2021-02-20 13:52:23 +00:00
|
|
|
check_ltlibraries += src/contrib/tests/libnm-vpn-plugin-utils-test.la
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-20 13:52:23 +00:00
|
|
|
src_contrib_tests_libnm_vpn_plugin_utils_test_la_SOURCES = \
|
|
|
|
src/contrib/nm-vpn-plugin-utils.c \
|
|
|
|
src/contrib/nm-vpn-plugin-utils.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-03-15 09:03:32 +00:00
|
|
|
src_contrib_tests_libnm_vpn_plugin_utils_test_la_CPPFLAGS = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2018-01-02 12:37:06 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2021-02-20 13:52:23 +00:00
|
|
|
src_contrib_tests_libnm_vpn_plugin_utils_test_la_LIBADD = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 14:24:59 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
2021-02-20 13:52:23 +00:00
|
|
|
src/contrib/meson.build \
|
|
|
|
src/contrib/tests/meson.build \
|
|
|
|
$(NULL)
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags_base = \
|
|
|
|
-I$(srcdir)/src/core \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(dflt_cppflags_libnm_core) \
|
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags_base_test = \
|
|
|
|
$(src_core_cppflags_base) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags_device_plugin = \
|
|
|
|
$(src_core_cppflags_base)
|
2018-07-12 08:53:14 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags = \
|
|
|
|
$(src_core_cppflags_base) \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
|
|
|
$(LIBNDP_CFLAGS) \
|
2017-03-20 16:57:58 +00:00
|
|
|
$(LIBPSL_CFLAGS) \
|
2016-04-04 16:23:13 +00:00
|
|
|
$(LIBCURL_CFLAGS) \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(SELINUX_CFLAGS) \
|
|
|
|
$(LIBAUDIT_CFLAGS) \
|
|
|
|
$(SYSTEMD_LOGIN_CFLAGS) \
|
|
|
|
$(SYSTEMD_JOURNAL_CFLAGS) \
|
|
|
|
\
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags_test = \
|
|
|
|
$(src_core_cppflags) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
if REQUIRE_ROOT_TESTS
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_cppflags_test += -DREQUIRE_ROOT_TESTS=1
|
2018-07-12 08:53:14 +00:00
|
|
|
endif
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ldflags = $(CODE_COVERAGE_LDFLAGS)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
|
|
|
sbin_PROGRAMS += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/NetworkManager
|
2016-10-15 16:25:13 +00:00
|
|
|
|
|
|
|
noinst_LTLIBRARIES += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/libNetworkManagerBase.la \
|
|
|
|
src/core/libNetworkManager.la \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/libnm-systemd-core.la \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2018-11-09 17:08:45 +00:00
|
|
|
check-config-options:
|
|
|
|
$(srcdir)/tools/check-config-options.sh "$(srcdir)"
|
|
|
|
|
|
|
|
check_local += check-config-options
|
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2018-12-28 17:11:16 +00:00
|
|
|
libsystemd_cppflags = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 07:13:35 +00:00
|
|
|
-I$(srcdir)/src/ \
|
|
|
|
-I$(builddir)/src/ \
|
|
|
|
-I$(srcdir)/src/libnm-systemd-shared/ \
|
|
|
|
-I$(srcdir)/src/libnm-systemd-shared/sd-adapt-shared \
|
|
|
|
-I$(srcdir)/src/libnm-systemd-shared/src/basic \
|
2021-04-01 19:05:46 +00:00
|
|
|
-I$(srcdir)/src/libnm-systemd-shared/src/fundamental \
|
2021-02-18 07:13:35 +00:00
|
|
|
-I$(srcdir)/src/libnm-systemd-shared/src/shared \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(LIBSYSTEMD_NM_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
noinst_LTLIBRARIES += src/libnm-systemd-shared/libnm-systemd-shared.la
|
2018-12-28 17:11:16 +00:00
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_systemd_shared_libnm_systemd_shared_la_CPPFLAGS = \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(libsystemd_cppflags) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-18 07:13:35 +00:00
|
|
|
src_libnm_systemd_shared_libnm_systemd_shared_la_SOURCES = \
|
|
|
|
src/libnm-systemd-shared/nm-default-systemd-shared.h \
|
|
|
|
src/libnm-systemd-shared/nm-sd-utils-shared.c \
|
|
|
|
src/libnm-systemd-shared/nm-sd-utils-shared.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/architecture.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/argv-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/arphrd-list.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/blockdev-util.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/build.h \
|
2021-10-06 09:50:27 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/chase-symlinks.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/chase.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/copy.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/dhcp-server-internal.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/dirent-util.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/errno-list.h \
|
2022-01-24 19:34:37 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/filesystems.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/glob-util.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/gunicode.h \
|
2022-01-24 19:34:37 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/hmac.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/idn-util.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/ioprio.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/mallinfo-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/memfd-util.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/memstream-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_fs.h \
|
2021-10-06 09:50:27 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_ioprio.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_keyctl.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_magic.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_network.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_sched.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_syscall_def.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/missing_timerfd.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/mkdir.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/mountpoint-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/namespace-util.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/nm-sd-adapt-shared.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/nulstr-util.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/os-util.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/psi-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/raw-clone.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/rlimit-util.h \
|
2021-10-06 09:50:27 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/sync-util.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/sysctl-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/terminal-util.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/unaligned-fundamental.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/unaligned.h \
|
|
|
|
src/libnm-systemd-shared/sd-adapt-shared/virt.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/alloc-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/alloc-util.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/arphrd-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/btrfs.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/btrfs.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/cgroup-util.h \
|
2024-03-04 11:29:57 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/chase.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/constants.h \
|
2024-03-04 11:29:57 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/devnum-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/devnum-util.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/dns-def.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/env-file.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/env-file.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/env-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/env-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/errno-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/escape.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/escape.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/ether-addr-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/ether-addr-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/extract-word.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/extract-word.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/fd-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/fd-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/fileio.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/fileio.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/format-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/format-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/fs-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/fs-util.h \
|
2022-07-05 15:31:20 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/glyph-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/glyph-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/hash-funcs.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/hash-funcs.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/hashmap.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/hashmap.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/hexdecoct.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/hexdecoct.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/hostname-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/hostname-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/in-addr-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/in-addr-util.h \
|
2021-10-06 09:50:27 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/inotify-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/inotify-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/io-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/io-util.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/iovec-util.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/label.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/label.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/list.h \
|
2022-07-05 15:31:20 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/locale-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/locale-util.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/lock-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/log.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/macro.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/memory-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/memory-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/mempool.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/mempool.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/missing_fcntl.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/missing_random.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/missing_socket.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/missing_stat.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/missing_syscall.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/missing_threads.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/missing_type.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/namespace-util.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/ordered-set.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/ordered-set.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/origin-id.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/parse-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/parse-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/path-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/path-util.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/pidref.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/prioq.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/prioq.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/process-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/process-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/random-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/random-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/ratelimit.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/ratelimit.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/set.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/signal-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/signal-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/siphash24.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/socket-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/socket-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/sort-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/sparse-endian.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/stat-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/stat-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/stdio-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/string-table.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/string-table.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/string-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/string-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/strv.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/strv.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/strxcpyx.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/strxcpyx.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/time-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/time-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/tmpfile-util.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/tmpfile-util.h \
|
|
|
|
src/libnm-systemd-shared/src/basic/umask-util.h \
|
2022-10-04 14:10:07 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/user-util.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/basic/utf8.c \
|
|
|
|
src/libnm-systemd-shared/src/basic/utf8.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/logarithm.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/macro-fundamental.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/memory-util-fundamental.h \
|
2022-07-05 15:31:20 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/sha256.c \
|
|
|
|
src/libnm-systemd-shared/src/fundamental/sha256.h \
|
2021-04-01 19:05:46 +00:00
|
|
|
src/libnm-systemd-shared/src/fundamental/string-util-fundamental.c \
|
|
|
|
src/libnm-systemd-shared/src/fundamental/string-util-fundamental.h \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/src/shared/dns-domain.c \
|
|
|
|
src/libnm-systemd-shared/src/shared/dns-domain.h \
|
|
|
|
src/libnm-systemd-shared/src/shared/log-link.h \
|
|
|
|
src/libnm-systemd-shared/src/shared/web-util.c \
|
|
|
|
src/libnm-systemd-shared/src/shared/web-util.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_systemd_shared_libnm_systemd_shared_la_LIBADD = \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-25 10:17:50 +00:00
|
|
|
EXTRA_DIST += src/libnm-systemd-shared/meson.build
|
|
|
|
|
2018-12-28 17:11:16 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-05-27 14:40:23 +00:00
|
|
|
src_libnm_systemd_core_libnm_systemd_core_la_cppflags = \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(libsystemd_cppflags) \
|
2021-05-27 14:40:23 +00:00
|
|
|
-I$(srcdir)/src/libnm-systemd-core/sd-adapt-core \
|
|
|
|
-I$(srcdir)/src/libnm-systemd-core/src/systemd \
|
|
|
|
-I$(srcdir)/src/libnm-systemd-core/src/libsystemd-network \
|
2023-02-08 10:00:44 +00:00
|
|
|
-I$(srcdir)/src/libnm-systemd-core/src/libsystemd/sd-device \
|
2021-05-27 14:40:23 +00:00
|
|
|
-I$(srcdir)/src/libnm-systemd-core/src/libsystemd/sd-event \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(NULL)
|
2016-10-18 09:54:58 +00:00
|
|
|
|
2021-05-27 14:40:23 +00:00
|
|
|
src_libnm_systemd_core_libnm_systemd_core_la_libadd = \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2018-12-28 17:11:16 +00:00
|
|
|
$(NULL)
|
2016-10-18 09:54:58 +00:00
|
|
|
|
2021-05-27 14:40:23 +00:00
|
|
|
src_libnm_systemd_core_libnm_systemd_core_la_SOURCES = \
|
|
|
|
src/libnm-systemd-core/nm-default-systemd-core.h \
|
|
|
|
src/libnm-systemd-core/nm-sd.c \
|
|
|
|
src/libnm-systemd-core/nm-sd.h \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/condition.h \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/conf-parser.h \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/khash.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-core/sd-adapt-core/netif-util.c \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/netif-util.h \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/sd-adapt-core/network-util.h \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.c \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/nm-sd-adapt-core.h \
|
|
|
|
src/libnm-systemd-core/sd-adapt-core/sd-daemon.h \
|
2023-06-26 14:54:28 +00:00
|
|
|
src/libnm-systemd-core/sd-adapt-core/sd-messages.h \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/sd-adapt-core/udev-util.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd-network/sd-dhcp-duid.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp-duid-internal.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-client-internal.h \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-internal.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-lease-internal.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-network.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.c \
|
2022-04-04 12:36:56 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-option.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-protocol.c \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd-network/dhcp6-protocol.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/network-common.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/network-common.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-client.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd-network/sd-dhcp6-lease.c \
|
2024-03-04 11:29:57 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-device/device-internal.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-device/device-private.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-device/device-private.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-device/device-util.h \
|
2024-03-04 11:29:57 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-device/sd-device.c \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-event/event-source.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-event/event-util.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-event/event-util.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-event/sd-event.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.c \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-id128/id128-util.h \
|
|
|
|
src/libnm-systemd-core/src/libsystemd/sd-id128/sd-id128.c \
|
|
|
|
src/libnm-systemd-core/src/systemd/_sd-common.h \
|
2023-02-08 10:00:44 +00:00
|
|
|
src/libnm-systemd-core/src/systemd/sd-device.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-core/src/systemd/sd-dhcp-duid.h \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/src/systemd/sd-dhcp6-client.h \
|
|
|
|
src/libnm-systemd-core/src/systemd/sd-dhcp6-lease.h \
|
|
|
|
src/libnm-systemd-core/src/systemd/sd-dhcp6-option.h \
|
2024-02-13 17:10:36 +00:00
|
|
|
src/libnm-systemd-core/src/systemd/sd-dhcp6-protocol.h \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/src/systemd/sd-event.h \
|
|
|
|
src/libnm-systemd-core/src/systemd/sd-id128.h \
|
|
|
|
src/libnm-systemd-core/src/systemd/sd-ndisc.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnm_systemd_core_libnm_systemd_core_la_CPPFLAGS = $(src_libnm_systemd_core_libnm_systemd_core_la_cppflags)
|
|
|
|
src_libnm_systemd_core_libnm_systemd_core_la_LIBADD = \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(NULL)
|
2021-05-27 14:40:23 +00:00
|
|
|
$(src_libnm_systemd_core_libnm_systemd_core_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2021-05-27 14:40:23 +00:00
|
|
|
EXTRA_DIST += src/libnm-systemd-core/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerBase_la_CPPFLAGS = \
|
dhcp: add nettools dhcp4 client
This is inspired by the existing systemd integration, with a few differences:
* This parses the WPAD option, which systemd requested, but did not use.
* We hook into the DAD handling, only making use of the configured address
once DAD has completed successfully, and declining the lease if it fails.
There are still many areas of possible improvement. In particular, we need
to ensure the parsing of all options are compliant, as n-dhcp4 treats all
options as opaque, unlike sd-dhcp4. We probably also need to look at how
to handle failures and retries (in particular if we decline a lease).
We need to query the current MTU at client startu, as well as the hardware
broadcast address. Both these are provided by the kernel over netlink, so
it should simply be a matter of hooking that up with NM's netlink layer.
Contribution under LGPL2.0+, in addition to stated licenses.
2019-05-13 18:02:48 +00:00
|
|
|
$(libsystemd_cppflags) \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
$(src_core_cppflags)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerBase_la_SOURCES = \
|
shared: add NMDedupMultiIndex "nm-dedup-multi.h"
Add the NMDedupMultiIndex cache. It basically tracks
objects as doubly linked list. With the addition that
each object and the list head is indexed by a hash table.
Also, it supports tracking multiple distinct lists,
all indexed by the idx-type instance.
It also deduplicates the tracked objects and shares them.
- the objects that can be put into the cache must be immutable
and ref-counted. That is, the cache will deduplicate them
and share the reference. Also, as these objects are immutable
and ref-counted, it is safe that users outside the cache
own them too (as long as they keep them immutable and manage
their reference properly).
The deduplication uses obj_id_hash_func() and obj_id_equal_func().
These functions must cover *every* aspect of the objects when
comparing equality. For example nm_platform_ip4_route_cmp()
would be a function that qualifies as obj_id_equal_func().
The cache creates references to the objects as needed and
gives them back. This happens via obj_get_ref() and
obj_put_ref(). Note that obj_get_ref() is free to create
a new object, for example to convert a stack-allocated object
to a (ref-counted) heap allocated one.
The deduplication process creates NMDedupIndexBox instances
which are the ref-counted entity. In principle, the objects
themself don't need to be ref-counted as that is handled by
the boxing instance.
- The cache doesn't only do deduplication. It is a multi-index,
meaning, callers add objects using a index handle NMDedupMultiIdxType.
The NMDedupMultiIdxType instance is the access handle to lookup
the list and objects inside the cache. Note that the idx-type
instance may partition the objects in distinct lists.
For all operations there are cross-references and hash table lookups.
Hence, every operation of this data structure is O(1) and the memory
overhead for an index tracking an object is constant.
The cache preserves ordering (due to linked list) and exposes the list
as public API. This allows users to iterate the list without any
additional copying of elements.
2017-06-04 20:43:21 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-core-utils.c \
|
|
|
|
src/core/nm-core-utils.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/NetworkManagerUtils.c \
|
|
|
|
src/core/NetworkManagerUtils.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ndisc/nm-lndp-ndisc.c \
|
|
|
|
src/core/ndisc/nm-lndp-ndisc.h \
|
|
|
|
src/core/ndisc/nm-ndisc.c \
|
|
|
|
src/core/ndisc/nm-ndisc.h \
|
|
|
|
src/core/ndisc/nm-ndisc-private.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-dbus-utils.c \
|
|
|
|
src/core/nm-dbus-utils.h \
|
|
|
|
src/core/nm-dbus-object.c \
|
|
|
|
src/core/nm-dbus-object.h \
|
|
|
|
src/core/nm-netns.c \
|
|
|
|
src/core/nm-netns.h \
|
|
|
|
src/core/nm-l3-config-data.c \
|
|
|
|
src/core/nm-l3-config-data.h \
|
|
|
|
src/core/nm-l3-ipv4ll.c \
|
|
|
|
src/core/nm-l3-ipv4ll.h \
|
2021-08-25 09:30:35 +00:00
|
|
|
src/core/nm-l3-ipv6ll.c \
|
|
|
|
src/core/nm-l3-ipv6ll.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-l3cfg.c \
|
|
|
|
src/core/nm-l3cfg.h \
|
|
|
|
src/core/nm-ip-config.c \
|
|
|
|
src/core/nm-ip-config.h \
|
2022-09-14 15:37:55 +00:00
|
|
|
src/core/nm-bond-manager.c \
|
|
|
|
src/core/nm-bond-manager.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dhcp/nm-dhcp-client.c \
|
|
|
|
src/core/dhcp/nm-dhcp-client.h \
|
|
|
|
src/core/dhcp/nm-dhcp-client-logging.h \
|
|
|
|
src/core/dhcp/nm-dhcp-nettools.c \
|
|
|
|
src/core/dhcp/nm-dhcp-utils.c \
|
|
|
|
src/core/dhcp/nm-dhcp-utils.h \
|
|
|
|
src/core/dhcp/nm-dhcp-options.c \
|
|
|
|
src/core/dhcp/nm-dhcp-options.h \
|
|
|
|
src/core/dhcp/nm-dhcp-systemd.c \
|
|
|
|
src/core/dhcp/nm-dhcp-manager.c \
|
|
|
|
src/core/dhcp/nm-dhcp-manager.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/main-utils.c \
|
|
|
|
src/core/main-utils.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerBase_la_LIBADD = \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(GLIB_LIBS) \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_libNetworkManagerBase_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManager_la_CPPFLAGS = $(src_core_cppflags)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManager_la_SOURCES = \
|
2021-02-04 17:04:13 +00:00
|
|
|
\
|
|
|
|
src/core/nm-default-daemon.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-checkpoint.c \
|
|
|
|
src/core/nm-checkpoint.h \
|
|
|
|
src/core/nm-checkpoint-manager.c \
|
|
|
|
src/core/nm-checkpoint-manager.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/nm-lldp-listener.c \
|
|
|
|
src/core/devices/nm-lldp-listener.h \
|
2021-05-04 07:47:06 +00:00
|
|
|
src/core/devices/nm-device-utils.c \
|
|
|
|
src/core/devices/nm-device-utils.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/nm-device.c \
|
|
|
|
src/core/devices/nm-device.h \
|
|
|
|
src/core/devices/nm-device-ethernet-utils.c \
|
|
|
|
src/core/devices/nm-device-ethernet-utils.h \
|
|
|
|
src/core/devices/nm-device-factory.c \
|
|
|
|
src/core/devices/nm-device-factory.h \
|
|
|
|
src/core/devices/nm-device-generic.c \
|
|
|
|
src/core/devices/nm-device-generic.h \
|
|
|
|
src/core/devices/nm-device-logging.h \
|
|
|
|
src/core/devices/nm-device-private.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/nm-device-6lowpan.c \
|
|
|
|
src/core/devices/nm-device-6lowpan.h \
|
|
|
|
src/core/devices/nm-device-bond.c \
|
|
|
|
src/core/devices/nm-device-bond.h \
|
|
|
|
src/core/devices/nm-device-bridge.c \
|
|
|
|
src/core/devices/nm-device-bridge.h \
|
|
|
|
src/core/devices/nm-device-dummy.c \
|
|
|
|
src/core/devices/nm-device-dummy.h \
|
|
|
|
src/core/devices/nm-device-ethernet.c \
|
|
|
|
src/core/devices/nm-device-ethernet.h \
|
2023-10-27 12:01:13 +00:00
|
|
|
src/core/devices/nm-device-hsr.c \
|
|
|
|
src/core/devices/nm-device-hsr.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/nm-device-infiniband.c \
|
|
|
|
src/core/devices/nm-device-infiniband.h \
|
|
|
|
src/core/devices/nm-device-ip-tunnel.c \
|
|
|
|
src/core/devices/nm-device-ip-tunnel.h \
|
2022-06-12 23:50:09 +00:00
|
|
|
src/core/devices/nm-device-loopback.c \
|
|
|
|
src/core/devices/nm-device-loopback.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/nm-device-macsec.c \
|
|
|
|
src/core/devices/nm-device-macsec.h \
|
|
|
|
src/core/devices/nm-device-macvlan.c \
|
|
|
|
src/core/devices/nm-device-macvlan.h \
|
|
|
|
src/core/devices/nm-device-ppp.c \
|
|
|
|
src/core/devices/nm-device-ppp.h \
|
|
|
|
src/core/devices/nm-device-tun.c \
|
|
|
|
src/core/devices/nm-device-tun.h \
|
|
|
|
src/core/devices/nm-device-veth.c \
|
|
|
|
src/core/devices/nm-device-veth.h \
|
|
|
|
src/core/devices/nm-device-vlan.c \
|
|
|
|
src/core/devices/nm-device-vlan.h \
|
|
|
|
src/core/devices/nm-device-vrf.c \
|
|
|
|
src/core/devices/nm-device-vrf.h \
|
|
|
|
src/core/devices/nm-device-vxlan.c \
|
|
|
|
src/core/devices/nm-device-vxlan.h \
|
|
|
|
src/core/devices/nm-device-wireguard.c \
|
|
|
|
src/core/devices/nm-device-wireguard.h \
|
|
|
|
src/core/devices/nm-device-wpan.c \
|
|
|
|
src/core/devices/nm-device-wpan.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dhcp/nm-dhcp-dhcpcanon.c \
|
|
|
|
src/core/dhcp/nm-dhcp-dhclient.c \
|
|
|
|
src/core/dhcp/nm-dhcp-dhcpcd.c \
|
|
|
|
src/core/dhcp/nm-dhcp-helper-api.h \
|
|
|
|
src/core/dhcp/nm-dhcp-listener.c \
|
|
|
|
src/core/dhcp/nm-dhcp-listener.h \
|
|
|
|
src/core/dhcp/nm-dhcp-dhclient-utils.c \
|
|
|
|
src/core/dhcp/nm-dhcp-dhclient-utils.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dns/nm-dns-manager.c \
|
|
|
|
src/core/dns/nm-dns-manager.h \
|
|
|
|
src/core/dns/nm-dns-plugin.c \
|
|
|
|
src/core/dns/nm-dns-plugin.h \
|
|
|
|
src/core/dns/nm-dns-dnsmasq.c \
|
|
|
|
src/core/dns/nm-dns-dnsmasq.h \
|
|
|
|
src/core/dns/nm-dns-systemd-resolved.c \
|
|
|
|
src/core/dns/nm-dns-systemd-resolved.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dnsmasq/nm-dnsmasq-manager.c \
|
|
|
|
src/core/dnsmasq/nm-dnsmasq-manager.h \
|
|
|
|
src/core/dnsmasq/nm-dnsmasq-utils.c \
|
|
|
|
src/core/dnsmasq/nm-dnsmasq-utils.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
2021-08-06 13:17:05 +00:00
|
|
|
src/core/ppp/nm-ppp-mgr.c \
|
|
|
|
src/core/ppp/nm-ppp-mgr.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ppp/nm-ppp-manager-call.c \
|
|
|
|
src/core/ppp/nm-ppp-manager-call.h \
|
|
|
|
src/core/ppp/nm-ppp-manager.h \
|
|
|
|
src/core/ppp/nm-ppp-status.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-hostname-manager.c \
|
|
|
|
src/core/nm-hostname-manager.h \
|
2017-04-22 22:40:46 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/nm-agent-manager.c \
|
|
|
|
src/core/settings/nm-agent-manager.h \
|
|
|
|
src/core/settings/nm-secret-agent.c \
|
|
|
|
src/core/settings/nm-secret-agent.h \
|
|
|
|
src/core/settings/nm-settings-connection.c \
|
|
|
|
src/core/settings/nm-settings-connection.h \
|
|
|
|
src/core/settings/nm-settings-storage.c \
|
|
|
|
src/core/settings/nm-settings-storage.h \
|
|
|
|
src/core/settings/nm-settings-plugin.c \
|
|
|
|
src/core/settings/nm-settings-plugin.h \
|
|
|
|
src/core/settings/nm-settings.c \
|
|
|
|
src/core/settings/nm-settings.h \
|
|
|
|
src/core/settings/nm-settings-utils.c \
|
|
|
|
src/core/settings/nm-settings-utils.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-storage.c \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-storage.h \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-plugin.c \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-plugin.h \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-reader.c \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-reader.h \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-utils.c \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-utils.h \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-writer.c \
|
|
|
|
src/core/settings/plugins/keyfile/nms-keyfile-writer.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/supplicant/nm-supplicant-config.c \
|
|
|
|
src/core/supplicant/nm-supplicant-config.h \
|
|
|
|
src/core/supplicant/nm-supplicant-interface.c \
|
|
|
|
src/core/supplicant/nm-supplicant-interface.h \
|
|
|
|
src/core/supplicant/nm-supplicant-manager.c \
|
|
|
|
src/core/supplicant/nm-supplicant-manager.h \
|
|
|
|
src/core/supplicant/nm-supplicant-settings-verify.c \
|
|
|
|
src/core/supplicant/nm-supplicant-settings-verify.h \
|
|
|
|
src/core/supplicant/nm-supplicant-types.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/vpn/nm-vpn-connection.c \
|
|
|
|
src/core/vpn/nm-vpn-connection.h \
|
|
|
|
src/core/vpn/nm-vpn-manager.c \
|
|
|
|
src/core/vpn/nm-vpn-manager.h \
|
2016-10-15 16:25:13 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-act-request.c \
|
|
|
|
src/core/nm-act-request.h \
|
|
|
|
src/core/nm-active-connection.c \
|
|
|
|
src/core/nm-active-connection.h \
|
|
|
|
src/core/nm-audit-manager.c \
|
|
|
|
src/core/nm-audit-manager.h \
|
|
|
|
src/core/nm-dbus-manager.c \
|
|
|
|
src/core/nm-dbus-manager.h \
|
|
|
|
src/core/nm-config.c \
|
|
|
|
src/core/nm-config.h \
|
|
|
|
src/core/nm-config-data.c \
|
|
|
|
src/core/nm-config-data.h \
|
|
|
|
src/core/nm-connectivity.c \
|
|
|
|
src/core/nm-connectivity.h \
|
|
|
|
src/core/nm-dcb.c \
|
|
|
|
src/core/nm-dcb.h \
|
|
|
|
src/core/nm-dhcp-config.c \
|
|
|
|
src/core/nm-dhcp-config.h \
|
|
|
|
src/core/nm-dispatcher.c \
|
|
|
|
src/core/nm-dispatcher.h \
|
2021-05-05 20:39:28 +00:00
|
|
|
src/core/nm-firewall-utils.c \
|
|
|
|
src/core/nm-firewall-utils.h \
|
2021-05-04 13:58:27 +00:00
|
|
|
src/core/nm-firewalld-manager.c \
|
|
|
|
src/core/nm-firewalld-manager.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-auth-manager.c \
|
|
|
|
src/core/nm-auth-manager.h \
|
|
|
|
src/core/nm-auth-utils.c \
|
|
|
|
src/core/nm-auth-utils.h \
|
|
|
|
src/core/nm-manager.c \
|
|
|
|
src/core/nm-manager.h \
|
|
|
|
src/core/nm-pacrunner-manager.c \
|
|
|
|
src/core/nm-pacrunner-manager.h \
|
|
|
|
src/core/nm-policy.c \
|
|
|
|
src/core/nm-policy.h \
|
|
|
|
src/core/nm-rfkill-manager.c \
|
|
|
|
src/core/nm-rfkill-manager.h \
|
|
|
|
src/core/nm-session-monitor.c \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
src/core/nm-session-monitor.h \
|
2021-12-13 15:06:16 +00:00
|
|
|
src/core/nm-priv-helper-call.c \
|
|
|
|
src/core/nm-priv-helper-call.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-keep-alive.c \
|
|
|
|
src/core/nm-keep-alive.h \
|
2024-02-04 20:11:47 +00:00
|
|
|
src/core/nm-power-monitor.c \
|
|
|
|
src/core/nm-power-monitor.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/nm-types.h \
|
2016-10-22 12:54:56 +00:00
|
|
|
\
|
2016-10-15 16:25:13 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManager_la_LIBADD = \
|
|
|
|
src/core/libNetworkManagerBase.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-impl/libnm-core-impl.la \
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-crypto/libnm-crypto.la \
|
2019-05-15 11:06:29 +00:00
|
|
|
$(libnm_crypto_lib) \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/libnm-platform.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-log-core/libnm-log-core.la \
|
2022-10-13 14:38:41 +00:00
|
|
|
src/libnm-lldp/libnm-lldp.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-udev-aux/libnm-udev-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/libnm-systemd-core.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/n-acd/libn-acd.la \
|
|
|
|
src/n-dhcp4/libn-dhcp4.la \
|
|
|
|
src/c-rbtree/libc-rbtree.la \
|
|
|
|
src/c-siphash/libc-siphash.la \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(GLIB_LIBS) \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(SYSTEMD_LOGIN_LIBS) \
|
2021-01-07 09:09:40 +00:00
|
|
|
$(SYSTEMD_JOURNAL_LIBS) \
|
2016-10-15 16:25:13 +00:00
|
|
|
$(LIBNDP_LIBS) \
|
|
|
|
$(DL_LIBS) \
|
|
|
|
$(SELINUX_LIBS) \
|
2016-10-22 10:25:40 +00:00
|
|
|
$(LIBAUDIT_LIBS) \
|
2017-03-20 16:57:58 +00:00
|
|
|
$(LIBPSL_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(LIBCURL_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_libNetworkManager_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_ltlibraries += src/core/libNetworkManagerTest.la
|
2016-10-22 13:44:19 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_cppflags_fake = $(src_core_cppflags_test) -DSETUP=nm_fake_platform_setup
|
|
|
|
src_core_tests_cppflags_linux = $(src_core_cppflags_test) -DSETUP=nm_linux_platform_setup
|
2016-10-22 14:56:37 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerTest_la_CPPFLAGS = $(src_core_cppflags_test)
|
2016-10-22 14:56:37 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerTest_la_SOURCES = \
|
|
|
|
src/core/ndisc/nm-fake-ndisc.c \
|
|
|
|
src/core/ndisc/nm-fake-ndisc.h \
|
|
|
|
src/core/platform/nm-fake-platform.c \
|
|
|
|
src/core/platform/nm-fake-platform.h \
|
|
|
|
src/core/platform/tests/test-common.c \
|
|
|
|
src/core/platform/tests/test-common.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_libNetworkManagerTest_la_LIBADD = \
|
|
|
|
src/core/libNetworkManager.la \
|
2016-10-22 13:44:19 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(GLIB_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
2021-04-02 00:47:53 +00:00
|
|
|
$(PTHREAD_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_libNetworkManagerTest_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
noinst_PROGRAMS += src/core/NetworkManager-all-sym
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_all_sym_CPPFLAGS = $(src_core_cppflags)
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_all_sym_SOURCES = \
|
|
|
|
src/core/main.c
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_all_sym_LDADD = \
|
|
|
|
src/core/libNetworkManager.la \
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_all_sym_LDFLAGS = \
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
-rdynamic \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_NetworkManager_all_sym_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
build: fix generating "NetworkManager.ver" with LTO
We use a linker version script "NetworkManager.ver", to hide
symbols from NetworkManager that are not used. That is important
due to our habit of using internal helper libraries that we link
statically everywhere, without handpicking the symbols we actually
need. We want the tooling to get rid of unnecessary symbols.
However, NetworkManager loads shared libraries for settings and device
plugins. These libraries require symbols from the NetworkManager binary,
but which one depends on build options. Hence, we also generate
"NetworkManager.ver" by the "tools/create-exports-NetworkManager.sh"
script.
For that the script uses "nm" to find symbols that are undefined in the
plugin libraries but defined in NetworkManager. With autotools the
script looked at "./src/.libs/libNetworkManager.a" to find the present
symbols. Note that for meson that already didn't work, and we build
instead an intermediate NetworkManager binary first (with all symbols
exposed). With LTO, "nm" doesn't find all symbols in
"./src/.libs/libNetworkManager.a", and consequently they are not
exported and dropped/hidden.
This also causes unit tests to fail with LTO, because our test script
"tools/check-exports.sh" catches such bugs.
Fix that by also with autotools generate a complete "NetworkManager-all-sym"
binary that is used to generate "NetworkManager.ver", before rebuilding
"NetworkManager" again.
2020-08-12 10:30:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/NetworkManager.ver: src/core/NetworkManager-all-sym $(core_plugins)
|
2021-04-02 02:01:54 +00:00
|
|
|
$(AM_V_GEN) LIBTOOL="$(LIBTOOL)" NM="$(NM)" "$(srcdir)/tools/create-exports-NetworkManager.sh" --called-from-build "$(srcdir)"
|
2016-11-10 16:06:37 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
CLEANFILES += src/core/NetworkManager.ver
|
2016-11-10 16:06:37 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
EXTRA_src_core_NetworkManager_DEPENDENCIES = \
|
|
|
|
src/core/NetworkManager.ver
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_CPPFLAGS = $(src_core_cppflags)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_SOURCES = \
|
|
|
|
src/core/main.c
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_LDADD = \
|
|
|
|
src/core/libNetworkManager.la \
|
2019-05-15 11:11:10 +00:00
|
|
|
$(GLIB_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_NetworkManager_LDFLAGS = \
|
2016-10-15 16:25:13 +00:00
|
|
|
-rdynamic \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
-Wl,--version-script="src/core/NetworkManager.ver" \
|
2020-05-13 19:59:50 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_NetworkManager_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
noinst_LTLIBRARIES += src/nm-initrd-generator/libnmi-core.la
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_libnmi_core_la_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(LIBUDEV_CFLAGS) \
|
|
|
|
$(SYSTEMD_JOURNAL_CFLAGS) \
|
|
|
|
$(SANITIZER_LIB_CFLAGS) \
|
2018-05-03 07:13:32 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_libnmi_core_la_SOURCES = \
|
|
|
|
src/nm-initrd-generator/nm-initrd-generator.h \
|
|
|
|
src/nm-initrd-generator/nmi-cmdline-reader.c \
|
|
|
|
src/nm-initrd-generator/nmi-dt-reader.c \
|
|
|
|
src/nm-initrd-generator/nmi-ibft-reader.c \
|
|
|
|
$(NULL)
|
2018-04-28 18:36:15 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
libexec_PROGRAMS += src/nm-initrd-generator/nm-initrd-generator
|
2018-04-28 18:36:15 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_nm_initrd_generator_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(CODE_COVERAGE_CFLAGS) \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(LIBUDEV_CFLAGS) \
|
|
|
|
$(SYSTEMD_JOURNAL_CFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
|
|
|
$(NULL)
|
2018-04-28 18:36:15 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_nm_initrd_generator_LDADD = \
|
|
|
|
src/nm-initrd-generator/libnmi-core.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-impl/libnm-core-impl.la \
|
2022-03-18 17:12:54 +00:00
|
|
|
src/libnm-crypto/libnm-crypto.la \
|
2019-05-15 11:06:29 +00:00
|
|
|
$(libnm_crypto_lib) \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-platform/libnm-platform.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-log-core/libnm-log-core.la \
|
2021-03-09 08:30:13 +00:00
|
|
|
src/libnm-platform/libnm-platform.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-udev-aux/libnm-udev-aux.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-01-07 09:09:40 +00:00
|
|
|
$(SYSTEMD_JOURNAL_LIBS) \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2018-04-28 18:36:15 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_nm_initrd_generator_LDFLAGS = \
|
2018-04-28 18:36:15 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
2021-03-09 08:30:13 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2018-04-28 18:36:15 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
check_programs += src/nm-initrd-generator/tests/test-dt-reader
|
2019-09-02 15:11:05 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_dt_reader_CPPFLAGS = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_CPPFLAGS)
|
2019-09-02 15:11:05 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_dt_reader_LDFLAGS = \
|
2019-09-02 15:11:05 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2021-02-04 17:44:57 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2019-09-02 15:11:05 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_dt_reader_LDADD = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_LDADD)
|
2019-09-02 15:11:05 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
check_programs += src/nm-initrd-generator/tests/test-ibft-reader
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_ibft_reader_CPPFLAGS = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_CPPFLAGS)
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_ibft_reader_LDFLAGS = \
|
2018-05-03 07:13:32 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2021-02-04 17:44:57 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_ibft_reader_LDADD = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_LDADD)
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
check_programs += src/nm-initrd-generator/tests/test-cmdline-reader
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_cmdline_reader_CPPFLAGS = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_CPPFLAGS)
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_cmdline_reader_LDFLAGS = \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(NULL)
|
2018-05-03 07:13:32 +00:00
|
|
|
|
2021-03-09 08:30:13 +00:00
|
|
|
src_nm_initrd_generator_tests_test_cmdline_reader_LDADD = \
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_LDADD)
|
|
|
|
|
|
|
|
$(src_nm_initrd_generator_libnmi_core_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_initrd_generator_nm_initrd_generator_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_initrd_generator_tests_test_cmdline_reader_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_initrd_generator_tests_test_ibft_reader_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_initrd_generator_tests_test_dt_reader_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
src/nm-initrd-generator/meson.build \
|
|
|
|
src/nm-initrd-generator/tests/meson.build \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/class/net/eth2/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/hostname \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/dhcp \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet0/flags \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/isns-server \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/pri-radius-server \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/slp-server \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/sec-radius-server \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/initiator/flags \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/nic-assoc \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/chap-type \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/flags \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/nic-assoc \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/chap-type \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/flags \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/target2/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/acpi_header/oem_table_id \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/acpi_header/oem_id \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/acpi_header/signature \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/hostname \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/dhcp \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs/firmware/ibft/ethernet2/flags \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns1/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-dns2/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-gateway/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-bad-ipaddr/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/class/net/eth1/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/ethernet1/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target1/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target1/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target1/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target1/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dhcp/firmware/ibft/target1/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/bootpath \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/bootp-request \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/bootp-response \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/broadcast-ip \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/client-ip \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/client-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/domain-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/gateway-ip \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/netmask-ip \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/root-path \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/server-ip \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/tftp-file \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/chosen/vendor-options \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/ethernet/device_type \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/ethernet/local-mac-address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/ethernet/mac-address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt/firmware/devicetree/base/ethernet/name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-dt-tftp/firmware/devicetree/base/chosen/bootpath \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/class/net/eth1/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target0/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/gateway \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/primary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/secondary-dns \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/ethernet1/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target1/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target1/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target1/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target1/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-static/firmware/ibft/target1/port \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/class/net/eth0/address \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/prefix-len \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/mac \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/vlan \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/origin \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/subnet-mask \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/ethernet0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/initiator/initiator-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/target0/target-name \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/target0/ip-addr \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/target0/index \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/target0/lun \
|
|
|
|
src/nm-initrd-generator/tests/sysfs-vlan/firmware/ibft/target0/port \
|
|
|
|
$(NULL)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/org.freedesktop.NetworkManager.conf \
|
|
|
|
src/core/nm-test-utils-core.h \
|
|
|
|
src/core/meson.build
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2016-10-15 17:59:09 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/dhcp
|
2016-10-15 17:59:09 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
libexec_PROGRAMS += src/core/dhcp/nm-dhcp-helper
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_nm_dhcp_helper_CPPFLAGS = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
$(NULL)
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_nm_dhcp_helper_SOURCES = \
|
|
|
|
src/core/dhcp/nm-dhcp-helper.c \
|
|
|
|
src/core/dhcp/nm-dhcp-helper-api.h \
|
2016-10-15 17:59:09 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_nm_dhcp_helper_LDFLAGS = \
|
2016-10-15 17:59:09 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver"
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_nm_dhcp_helper_LDADD = $(GLIB_LIBS)
|
2016-10-15 17:59:09 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dhcp/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-15 17:59:09 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/dhcp/tests
|
2016-10-15 17:59:09 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_tests_cppflags = $(src_core_cppflags_test)
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_tests_ldadd = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-15 17:59:09 +00:00
|
|
|
|
2016-10-22 12:54:56 +00:00
|
|
|
check_programs += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dhcp/tests/test-dhcp-dhclient \
|
|
|
|
src/core/dhcp/tests/test-dhcp-utils
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_tests_test_dhcp_dhclient_CPPFLAGS = $(src_core_dhcp_tests_cppflags)
|
|
|
|
src_core_dhcp_tests_test_dhcp_utils_CPPFLAGS = $(src_core_dhcp_tests_cppflags)
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_tests_test_dhcp_dhclient_LDADD = $(src_core_dhcp_tests_ldadd)
|
|
|
|
src_core_dhcp_tests_test_dhcp_utils_LDADD = $(src_core_dhcp_tests_ldadd)
|
2016-10-15 17:59:09 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dhcp_tests_test_dhcp_dhclient_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_dhcp_tests_test_dhcp_utils_LDFLAGS = $(src_core_tests_ldflags)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_dhcp_tests_test_dhcp_dhclient_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_dhcp_tests_test_dhcp_utils_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 17:59:09 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dhcp/tests/test-dhclient-duid.leases \
|
|
|
|
src/core/dhcp/tests/test-dhclient-commented-duid.leases \
|
|
|
|
src/core/dhcp/tests/meson.build
|
2016-10-15 17:59:09 +00:00
|
|
|
|
2016-10-15 20:13:28 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/ppp
|
2016-10-15 20:13:28 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if WITH_PPP
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/ppp/libnm-ppp-plugin.la
|
2016-12-12 20:38:04 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
pppd_plugin_LTLIBRARIES += src/core/ppp/nm-pppd-plugin.la
|
2016-10-15 20:13:28 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_nm_pppd_plugin_la_CPPFLAGS = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2023-04-16 13:31:54 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(PPPD_CFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-15 20:13:28 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_nm_pppd_plugin_la_SOURCES = \
|
2023-04-16 13:31:54 +00:00
|
|
|
src/core/ppp/nm-pppd-compat.c \
|
|
|
|
src/core/ppp/nm-pppd-compat.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ppp/nm-pppd-plugin.c \
|
|
|
|
src/core/ppp/nm-pppd-plugin.h \
|
|
|
|
src/core/ppp/nm-ppp-status.h
|
2016-10-15 20:13:28 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_nm_pppd_plugin_la_LDFLAGS = \
|
2016-10-15 20:13:28 +00:00
|
|
|
-module -avoid-version
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_nm_pppd_plugin_la_LIBADD = \
|
2016-10-15 20:13:28 +00:00
|
|
|
$(GLIB_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(DL_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 20:13:28 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_ppp_nm_pppd_plugin_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_libnm_ppp_plugin_la_SOURCES = \
|
|
|
|
src/core/ppp/nm-pppd-plugin.h \
|
|
|
|
src/core/ppp/nm-ppp-manager.c \
|
|
|
|
src/core/ppp/nm-ppp-manager.h \
|
|
|
|
src/core/ppp/nm-ppp-plugin-api.h \
|
|
|
|
src/core/ppp/nm-ppp-status.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-11-03 17:38:27 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
EXTRA_src_core_ppp_libnm_ppp_plugin_la_DEPENDENCIES = \
|
|
|
|
src/core/ppp/nm-ppp-plugin.ver \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-11-03 17:38:27 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_libnm_ppp_plugin_la_CPPFLAGS = $(src_core_cppflags_base)
|
2016-11-03 17:38:27 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_libnm_ppp_plugin_la_LDFLAGS = \
|
2016-11-03 17:38:27 +00:00
|
|
|
-module -avoid-version \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/src/core/ppp/nm-ppp-plugin.ver" \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-11-03 17:38:27 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ppp_libnm_ppp_plugin_la_LIBADD = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-11-03 17:38:27 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_ppp_libnm_ppp_plugin_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2023-06-14 12:53:31 +00:00
|
|
|
check-local-ppp-plugin: src/core/NetworkManager src/core/ppp/libnm-ppp-plugin.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/ppp/.libs/libnm-ppp-plugin.so "$(srcdir)/src/core/ppp/nm-ppp-plugin.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/ppp/.libs/libnm-ppp-plugin.so)
|
|
|
|
|
|
|
|
check_local += check-local-ppp-plugin
|
|
|
|
|
2016-10-15 20:13:28 +00:00
|
|
|
endif
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ppp/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/settings/plugins/keyfile/tests
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/settings/plugins/keyfile/tests/test-keyfile-settings
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_keyfile_tests_test_keyfile_settings_CPPFLAGS = $(src_core_cppflags_test)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_keyfile_tests_test_keyfile_settings_LDFLAGS = \
|
2016-10-15 20:28:34 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_keyfile_tests_test_keyfile_settings_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_keyfile_tests_test_keyfile_settings_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_GSM_Connection \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wireless_Connection \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection_MAC_Case \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_MAC_Old_Format \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_MAC_IB_Old_Format \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection_IP6 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/ATT_Data_Connect_BT \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/ATT_Data_Connect_Plain \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_String_SSID \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Intlist_SSID \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Intlike_SSID \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Intlike_SSID_2 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Old \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_New \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Blob \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Path_Missing \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_InfiniBand_Connection \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Bridge_Main \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Bridge_Component \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_New_Wired_Group_Name \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_New_Wireless_Group_Names \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_1 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_2 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_1 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_2 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_3 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_4 \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Setting \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Flags \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Missing_ID_UUID \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Enum_Property \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_Flags_Property \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_dcb_connection \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/Test_TC_Config \
|
2016-10-15 20:28:34 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/test-ca-cert.pem \
|
|
|
|
src/core/settings/plugins/keyfile/tests/keyfiles/test-key-and-cert.pem \
|
2018-01-08 12:06:54 +00:00
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/keyfile/tests/meson.build
|
2016-10-15 20:28:34 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/settings/plugins/ifcfg-rh
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if CONFIG_PLUGIN_IFCFG_RH
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
noinst_LTLIBRARIES += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/libnmdbus-ifcfg-rh.la \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
nodist_src_core_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_CPPFLAGS = \
|
|
|
|
$(filter-out -DGLIB_VERSION_MAX_ALLOWED%,$(src_core_cppflags_base)) \
|
introspection: avoid compiler warning in generated introspection files
Disable "-Wincompatible-pointer-types-discards-qualifiers" warning, as
this breaks build of the gdbus-codegen files.
With glib2-2.67.0-1.fc34.x86_64.rpm, clang-11.0.0-2.fc34.x86_64.rpm, we
get a failure to build generated code:
introspection/org.freedesktop.NetworkManager.AccessPoint.c:438:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_INTERFACE (NMDBusAccessPoint, nmdbus_access_point, G_TYPE_OBJECT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1784:47: note: expanded from macro 'G_DEFINE_INTERFACE'
#define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1803:61: note: expanded from macro 'G_DEFINE_INTERFACE_WITH_CODE'
#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2042:7: note: expanded from macro '_G_DEFINE_INTERFACE_EXTENDED_BEGIN'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:944:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointProxy, nmdbus_access_point_proxy, G_TYPE_DBUS_PROXY,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:1729:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointSkeleton, nmdbus_access_point_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
2020-11-02 08:12:10 +00:00
|
|
|
$(INTROSPECTION_EXTRA_CFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
CLEANFILES += $(nodist_src_core_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h: src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.xml
|
|
|
|
@$(MKDIR_P) src/core/settings/plugins/ifcfg-rh/
|
2016-10-15 20:28:34 +00:00
|
|
|
$(AM_V_GEN) gdbus-codegen \
|
|
|
|
--generate-c-code $(basename $@) \
|
|
|
|
--c-namespace NMDBus \
|
|
|
|
--interface-prefix com.redhat \
|
|
|
|
$<
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.c: src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h
|
2016-10-15 20:28:34 +00:00
|
|
|
@true
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-common.h \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/shvar.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/shvar.h \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.h \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.h \
|
2019-05-28 15:55:28 +00:00
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_CPPFLAGS = $(src_core_cppflags_base)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-04-07 10:37:52 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-storage.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-storage.h \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.h \
|
settings: rework tracking settings connections and settings plugins
Completely rework how settings plugin handle connections and how
NMSettings tracks the list of connections.
Previously, settings plugins would return objects of (a subtype of) type
NMSettingsConnection. The NMSettingsConnection was tightly coupled with
the settings plugin. That has a lot of downsides.
Change that. When changing this basic relation how settings connections
are tracked, everything falls appart. That's why this is a huge change.
Also, since I have to largely rewrite the settings plugins, I also
added support for multiple keyfile directories, handle in-memory
connections only by keyfile plugin and (partly) use copy-on-write NMConnection
instances. I don't want to spend effort rewriting large parts while
preserving the old way, that anyway should change. E.g. while rewriting ifcfg-rh,
I don't want to let it handle in-memory connections because that's not right
long-term.
--
If the settings plugins themself create subtypes of NMSettingsConnection
instances, then a lot of knowledge about tracking connections moves
to the plugins.
Just try to follow the code what happend during nm_settings_add_connection().
Note how the logic is spread out:
- nm_settings_add_connection() calls plugin's add_connection()
- add_connection() creates a NMSettingsConnection subtype
- the plugin has to know that it's called during add-connection and
not emit NM_SETTINGS_PLUGIN_CONNECTION_ADDED signal
- NMSettings calls claim_connection() which hocks up the new
NMSettingsConnection instance and configures the instance
(like calling nm_settings_connection_added()).
This summary does not sound like a lot, but try to follow that code. The logic
is all over the place.
Instead, settings plugins should have a very simple API for adding, modifying,
deleting, loading and reloading connections. All the plugin does is to return a
NMSettingsStorage handle. The storage instance is a handle to identify a profile
in storage (e.g. a particular file). The settings plugin is free to subtype
NMSettingsStorage, but it's not necessary.
There are no more events raised, and the settings plugin implements the small
API in a straightforward manner.
NMSettings now drives all of this. Even NMSettingsConnection has now
very little concern about how it's tracked and delegates only to NMSettings.
This should make settings plugins simpler. Currently settings plugins
are so cumbersome to implement, that we avoid having them. It should not be
like that and it should be easy, beneficial and lightweight to create a new
settings plugin.
Note also how the settings plugins no longer care about duplicate UUIDs.
Duplicated UUIDs are a fact of life and NMSettings must handle them. No
need to overly concern settings plugins with that.
--
NMSettingsConnection is exposed directly on D-Bus (being a subtype of
NMDBusObject) but it was also a GObject type provided by the settings
plugin. Hence, it was not possible to migrate a profile from one plugin to
another.
However that would be useful when one profile does not support a
connection type (like ifcfg-rh not supporting VPN). Currently such
migration is not implemented except for migrating them to/from keyfile's
run directory. The problem is that migrating profiles in general is
complicated but in some cases it is important to do.
For example checkpoint rollback should recreate the profile in the right
settings plugin, not just add it to persistent storage. This is not yet
properly implemented.
--
Previously, both keyfile and ifcfg-rh plugin implemented in-memory (unsaved)
profiles, while ifupdown plugin cannot handle them. That meant duplication of code
and a ifupdown profile could not be modified or made unsaved.
This is now unified and only keyfile plugin handles in-memory profiles (bgo #744711).
Also, NMSettings is aware of such profiles and treats them specially.
In particular, NMSettings drives the migration between persistent and non-persistent
storage.
Note that a settings plugins may create truly generated, in-memory profiles.
The settings plugin is free to generate and persist the profiles in any way it
wishes. But the concept of "unsaved" profiles is now something explicitly handled
by keyfile plugin. Also, these "unsaved" keyfile profiles are persisted to file system
too, to the /run directory. This is great for two reasons: first of all, all
profiles from keyfile storage in fact have a backing file -- even the
unsaved ones. It also means you can create "unsaved" profiles in /run
and load them with `nmcli connection load`, meaning there is a file
based API for creating unsaved profiles.
The other advantage is that these profiles now survive restarting
NetworkManager. It's paramount that restarting the daemon is as
non-disruptive as possible. Persisting unsaved files to /run improves
here significantly.
--
In the past, NMSettingsConnection also implemented NMConnection interface.
That was already changed a while ago and instead users call now
nm_settings_connection_get_connection() to delegate to a
NMSimpleConnection. What however still happened was that the NMConnection
instance gets never swapped but instead the instance was modified with
nm_connection_replace_settings_from_connection(), clear-secrets, etc.
Change that and treat the NMConnection instance immutable. Instead of modifying
it, reference/clone a new instance. This changes that previously when somebody
wanted to keep a reference to an NMConnection, then the profile would be cloned.
Now, it is supposed to be safe to reference the instance directly and everybody
must ensure not to modify the instance. nmtst_connection_assert_unchanging()
should help with that.
The point is that the settings plugins may keep references to the
NMConnection instance, and so does the NMSettingsConnection. We want
to avoid cloning the instances as long as they are the same.
Likewise, the device's applied connection can now also be referenced
instead of cloning it. This is not yet done, and possibly there are
further improvements possible.
--
Also implement multiple keyfile directores /usr/lib, /etc, /run (rh #1674545,
bgo #772414).
It was always the case that multiple files could provide the same UUID
(both in case of keyfile and ifcfg-rh). For keyfile plugin, if a profile in
read-only storage in /usr/lib gets modified, then it gets actually stored in
/etc (or /run, if the profile is unsaved).
--
While at it, make /etc/network/interfaces profiles for ifupdown plugin reloadable.
--
https://bugzilla.gnome.org/show_bug.cgi?id=772414
https://bugzilla.gnome.org/show_bug.cgi?id=744711
https://bugzilla.redhat.com/show_bug.cgi?id=1674545
2019-06-13 15:12:20 +00:00
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_CPPFLAGS = $(src_core_cppflags_base)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_LDFLAGS = \
|
2016-10-15 20:28:34 +00:00
|
|
|
-module -avoid-version \
|
2018-02-07 10:10:31 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-settings.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_LIBADD = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
$(src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_OBJECTS): src/core/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-04-07 10:37:52 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-symbols-settings-ifcfg-rh: src/core/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/settings/plugins/ifcfg-rh/.libs/libnm-settings-plugin-ifcfg-rh.so)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
check_local += check-local-symbols-settings-ifcfg-rh
|
|
|
|
|
2016-10-17 13:50:56 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/settings/plugins/ifcfg-rh/tests
|
2016-10-17 13:50:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh
|
2016-10-17 13:50:56 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
|
2016-10-17 13:50:56 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_CPPFLAGS = $(src_core_cppflags_base_test)
|
2016-10-17 13:50:56 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_LDFLAGS = \
|
2016-10-17 13:50:56 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-17 13:50:56 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_LDADD = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-17 13:50:56 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-05-21 15:06:09 +00:00
|
|
|
dist_libexec_SCRIPTS += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/nm-ifup \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nm-ifdown
|
2018-05-21 15:06:09 +00:00
|
|
|
|
2018-07-24 12:05:55 +00:00
|
|
|
install-data-hook-ifcfg-rh:
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(sysconfdir)/sysconfig/network-scripts
|
|
|
|
|
|
|
|
install_data_hook += install-data-hook-ifcfg-rh
|
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
endif
|
|
|
|
|
2016-10-17 13:50:56 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-a.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-b.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_User_1.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bridge_Component.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Proxy_Basic.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Routing_Rules.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Infiniband_Port.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_VLAN_reorder_hdr.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_AP_Mode.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Band_A.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Hidden.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_always.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_default.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_missing.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_never.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Auto-Negotiate.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Wake-on-LAN.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_match.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-dcb-test.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-team-slave-enp31s0f1-142.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-eth-type \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-mode-numeric \
|
2021-08-23 14:00:54 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-port \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave-ib \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-component \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-main \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-missing-stp \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-booleans \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-percent \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-uints \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-default-app-priorities \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-pgpct-not-100 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-booleans \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-percent \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-uints \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dns-options \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-fabric \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-vn2vn \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \
|
2023-06-05 06:52:09 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband0 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband2 \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ip6-disabled.cexpected \
|
2022-08-30 17:34:04 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ipoib \
|
2022-05-12 17:43:54 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-link_local \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-minimal \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-misc-variables \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled-unrecognized \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-noip \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-onboot-no \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-permissions \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sit-ignore \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sriov-write.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc \
|
2021-05-25 16:00:27 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write-empty.cexpected \
|
2021-06-24 15:12:28 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-empty-config \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-unrecognized \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-variables-corner-cases-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-device \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-vlanid \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-physdev \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-trailing-spaces \
|
2021-03-25 10:55:22 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-vlanid-use.cexpected \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-dynamic-wep-leap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-hidden \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-agent \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-always-ask \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-always \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-default \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-missing \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-never \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-auto \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-bad-hex \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-hex \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-hex \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-quoted \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-owe \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-sae \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-104-ascii \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-40-ascii \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-adhoc \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-agent-keys \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-eap-ttls-chap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-no-keys \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-passphrase \
|
2021-03-25 10:55:22 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-suite-b-192-tls \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-tls \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-adhoc \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-hex \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1X-subj-matches \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-password-raw \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-agent \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-always \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-p12-no-client-cert \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-auto-negotiate-on \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ctc-static \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-plus-ip \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-send-hostname \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp6-only \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcpv6-hostname-fallback \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway-ignore \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-3 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-4 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-never-default \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-obsolete-gateway-n \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-qeth-static \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-shared-plus-ip \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-bootproto \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-16 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-24 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-8 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes-legacy \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-unknown-ethtool-opt \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-wake-on-lan \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1.expected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-2.expected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-3 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-3.expected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected \
|
2021-06-24 15:12:28 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-1.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-2.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-3.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-4.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-5.cexpected \
|
2022-11-08 16:45:13 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-6.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-7.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-8.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_roundtrip_ethtool-9.cexpected \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test_write_wired_auto_negotiate_on.cexpected \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-sae \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-104-ascii \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-40-ascii \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-adhoc \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-eap-ttls-chap \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-passphrase \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-tls \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-ttls-tls \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-adhoc \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-hex \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-802-1x-password-raw \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-8021x-peap-mschapv2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-defroute-no-gatewaydev-yes \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway-ignore \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-never-default \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-static-routes-legacy \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes-legacy \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/route6-test-wired-ipv6-manual \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/test1_key_and_cert.pem \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/test_ca_cert.pem \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/test_client.p12 \
|
2017-05-25 12:07:28 +00:00
|
|
|
$(NULL)
|
2016-10-17 13:50:56 +00:00
|
|
|
|
|
|
|
# make target dependencies can't have colons in their names, which ends up
|
|
|
|
# meaning that we can't add the alias files to EXTRA_DIST. They are instead
|
|
|
|
# dist'ed via dist-hook-settings-ifcfg-rh below.
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifcfg_rh_tests_network_scripts_alias_files = \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:99 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem1:1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem2 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem2:1 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem3 \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem3:1
|
2016-10-17 13:50:56 +00:00
|
|
|
|
|
|
|
dist-hook-settings-ifcfg-rh-alias-files:
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
@for f in $(src_core_settings_plugins_ifcfg_rh_tests_network_scripts_alias_files); do \
|
|
|
|
cp $(abs_srcdir)/$$f $(distdir)/src/core/settings/plugins/ifcfg-rh/tests/network-scripts/; \
|
2016-10-17 13:50:56 +00:00
|
|
|
done
|
|
|
|
|
|
|
|
dist_hook += dist-hook-settings-ifcfg-rh-alias-files
|
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2017-01-17 23:10:29 +00:00
|
|
|
if CONFIG_PLUGIN_IFCFG_RH
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
dbusservice_DATA += src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
|
2017-01-17 23:10:29 +00:00
|
|
|
endif
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/nm-ifcfg-rh.xml \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/meson.build \
|
|
|
|
src/core/settings/plugins/ifcfg-rh/tests/meson.build
|
2016-10-15 20:28:34 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/settings/plugins/ifupdown
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if CONFIG_PLUGIN_IFUPDOWN
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
noinst_LTLIBRARIES += src/core/settings/plugins/ifupdown/libnms-ifupdown-core.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnms_ifupdown_core_la_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-parser.c \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-parser.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnms_ifupdown_core_la_CPPFLAGS = $(src_core_cppflags_base)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnms_ifupdown_core_la_LIBADD = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_SOURCES = \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-plugin.c \
|
|
|
|
src/core/settings/plugins/ifupdown/nms-ifupdown-plugin.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_CPPFLAGS = $(src_core_cppflags_base)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_LDFLAGS = \
|
2016-10-15 20:28:34 +00:00
|
|
|
-module -avoid-version \
|
2019-05-15 08:34:53 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-settings.ver" \
|
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_LIBADD = \
|
|
|
|
src/core/settings/plugins/ifupdown/libnms-ifupdown-core.la \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(LIBUDEV_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_settings_plugins_ifupdown_libnms_ifupdown_core_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-04-07 10:37:52 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-symbols-settings-ifupdown: src/core/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/settings/plugins/ifupdown/.libs/libnm-settings-plugin-ifupdown.so)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
check_local += check-local-symbols-settings-ifupdown
|
|
|
|
|
2016-10-17 17:10:03 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/settings/plugins/ifupdown/tests/test-ifupdown
|
2016-10-17 17:10:03 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_tests_test_ifupdown_CPPFLAGS = $(src_core_cppflags_base_test)
|
2016-10-17 17:10:03 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_tests_test_ifupdown_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-17 17:10:03 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_settings_plugins_ifupdown_tests_test_ifupdown_LDADD = \
|
|
|
|
src/core/settings/plugins/ifupdown/libnms-ifupdown-core.la \
|
|
|
|
src/core/libNetworkManagerTest.la \
|
2018-11-03 07:49:32 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-17 17:10:03 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_settings_plugins_ifupdown_tests_test_ifupdown_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-04-07 10:37:52 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
endif
|
|
|
|
|
2016-10-17 17:10:03 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/ifupdown/tests/test1 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test2 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test3 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test4 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test5 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test6 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test7 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test8 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test9 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test11 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test12 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test13 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test14 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test15 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test16 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test17-wired-static-verify-ip4 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test18-wired-static-verify-ip6 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test19-wired-static-verify-ip4-plen \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test20-source-stanza \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test20-source-stanza.eth0 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test20-source-stanza.eth1 \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test21-source-dir-stanza \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test21-source-dir-stanza.d \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/test22-duplicate-stanzas \
|
|
|
|
src/core/settings/plugins/ifupdown/meson.build \
|
|
|
|
src/core/settings/plugins/ifupdown/tests/meson.build
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# src/core/devices
|
2018-01-08 12:06:54 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/meson.build
|
2016-10-17 17:10:03 +00:00
|
|
|
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/adsl
|
2016-10-15 20:28:34 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/adsl/libnm-device-plugin-adsl.la
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_adsl_libnm_device_plugin_adsl_la_SOURCES = \
|
|
|
|
src/core/devices/adsl/nm-atm-manager.c \
|
|
|
|
src/core/devices/adsl/nm-device-adsl.c \
|
|
|
|
src/core/devices/adsl/nm-device-adsl.h
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_adsl_libnm_device_plugin_adsl_la_CPPFLAGS = $(src_core_cppflags_device_plugin)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_adsl_libnm_device_plugin_adsl_la_LDFLAGS = \
|
2016-10-15 20:28:34 +00:00
|
|
|
-module -avoid-version \
|
2016-11-22 17:25:03 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_adsl_libnm_device_plugin_adsl_la_LIBADD = \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(LIBUDEV_LIBS)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-adsl: src/core/devices/adsl/libnm-device-plugin-adsl.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/adsl/.libs/libnm-device-plugin-adsl.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/adsl/.libs/libnm-device-plugin-adsl.so)
|
2016-10-15 20:28:34 +00:00
|
|
|
|
|
|
|
check_local += check-local-devices-adsl
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/adsl/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 06:39:30 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/wwan
|
2016-10-18 06:39:30 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if WITH_MODEM_MANAGER_1
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_cppflags = \
|
|
|
|
$(src_core_cppflags_device_plugin) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(MM_GLIB_CFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/wwan/libnm-wwan.la
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_wwan_la_SOURCES = \
|
|
|
|
src/core/devices/wwan/nm-modem-broadband.c \
|
|
|
|
src/core/devices/wwan/nm-modem-broadband.h \
|
|
|
|
src/core/devices/wwan/nm-modem-manager.c \
|
|
|
|
src/core/devices/wwan/nm-modem-manager.h \
|
|
|
|
src/core/devices/wwan/nm-modem.c \
|
|
|
|
src/core/devices/wwan/nm-modem.h \
|
|
|
|
src/core/devices/wwan/nm-service-providers.c \
|
|
|
|
src/core/devices/wwan/nm-service-providers.h \
|
2019-03-18 09:53:20 +00:00
|
|
|
$(NULL)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
|
|
|
if WITH_OFONO
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_wwan_la_SOURCES += \
|
|
|
|
src/core/devices/wwan/nm-modem-ofono.c \
|
|
|
|
src/core/devices/wwan/nm-modem-ofono.h
|
2016-10-18 06:39:30 +00:00
|
|
|
endif
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_wwan_la_CPPFLAGS = $(src_core_devices_wwan_cppflags)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_wwan_la_LDFLAGS = \
|
2016-10-18 06:39:30 +00:00
|
|
|
-avoid-version \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/src/core/devices/wwan/libnm-wwan.ver"
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_wwan_la_LIBADD = \
|
2016-10-18 06:39:30 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(LIBSYSTEMD_LIBS) \
|
|
|
|
$(MM_GLIB_LIBS)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_wwan_libnm_wwan_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
EXTRA_src_core_devices_wwan_libnm_wwan_la_DEPENDENCIES = \
|
|
|
|
src/core/devices/wwan/libnm-wwan.ver
|
2017-01-20 16:07:50 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/wwan/libnm-device-plugin-wwan.la
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_device_plugin_wwan_la_SOURCES = \
|
|
|
|
src/core/devices/wwan/nm-wwan-factory.c \
|
|
|
|
src/core/devices/wwan/nm-device-modem.c \
|
|
|
|
src/core/devices/wwan/nm-device-modem.h
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_device_plugin_wwan_la_CPPFLAGS = $(src_core_devices_wwan_cppflags)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_device_plugin_wwan_la_LDFLAGS = \
|
2016-10-18 06:39:30 +00:00
|
|
|
-module -avoid-version \
|
2016-11-22 17:25:03 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
2016-10-18 06:39:30 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_libnm_device_plugin_wwan_la_LIBADD = \
|
|
|
|
src/core/devices/wwan/libnm-wwan.la \
|
2016-10-18 06:39:30 +00:00
|
|
|
$(GLIB_LIBS)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-wwan: src/core/devices/wwan/libnm-device-plugin-wwan.la src/core/devices/wwan/libnm-wwan.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/wwan/.libs/libnm-device-plugin-wwan.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/wwan/.libs/libnm-device-plugin-wwan.so)
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/wwan/.libs/libnm-wwan.so "$(srcdir)/src/core/devices/wwan/libnm-wwan.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/wwan/.libs/libnm-wwan.so)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
|
|
|
check_local += check-local-devices-wwan
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_tests_test_service_providers_SOURCES = \
|
|
|
|
src/core/devices/wwan/tests/test-service-providers.c \
|
|
|
|
src/core/devices/wwan/nm-service-providers.c \
|
|
|
|
src/core/devices/wwan/nm-service-providers.h \
|
2019-08-12 10:42:10 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_tests_test_service_providers_CPPFLAGS = \
|
|
|
|
$(src_core_cppflags_base_test) \
|
|
|
|
-I$(srcdir)/src/core/devices/wwan \
|
2019-08-12 10:42:10 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_tests_test_service_providers_LDFLAGS = \
|
2019-08-12 10:42:10 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wwan_tests_test_service_providers_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la \
|
2019-08-12 10:42:10 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/devices/wwan/tests/test-service-providers
|
2019-08-12 10:42:10 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_wwan_tests_test_service_providers_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2019-09-11 14:42:59 +00:00
|
|
|
|
2016-10-18 06:39:30 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/wwan/libnm-wwan.ver \
|
|
|
|
src/core/devices/wwan/meson.build \
|
|
|
|
src/core/devices/wwan/tests/test-service-providers.xml \
|
2019-08-12 10:42:10 +00:00
|
|
|
$(NULL)
|
2016-10-18 06:39:30 +00:00
|
|
|
|
2016-10-18 06:50:40 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/bluetooth
|
2016-10-18 06:50:40 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if WITH_MODEM_MANAGER_1
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
noinst_LTLIBRARIES += src/core/devices/bluetooth/libnm-bluetooth-utils.la
|
2019-08-24 12:27:11 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_SOURCES = \
|
|
|
|
src/core/devices/bluetooth/nm-bluez-common.h \
|
|
|
|
src/core/devices/bluetooth/nm-bt-error.c \
|
|
|
|
src/core/devices/bluetooth/nm-bt-error.h \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_CPPFLAGS = \
|
|
|
|
$(src_core_cppflags_base) \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_LIBADD = \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
if WITH_BLUEZ5_DUN
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_SOURCES += \
|
|
|
|
src/core/devices/bluetooth/nm-bluez5-dun.c \
|
|
|
|
src/core/devices/bluetooth/nm-bluez5-dun.h \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_CPPFLAGS += $(BLUEZ5_CFLAGS)
|
|
|
|
src_core_devices_bluetooth_libnm_bluetooth_utils_la_LIBADD += $(BLUEZ5_LIBS)
|
2019-08-24 12:27:11 +00:00
|
|
|
endif
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_bluetooth_libnm_bluetooth_utils_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2019-08-24 12:27:11 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/bluetooth/libnm-device-plugin-bluetooth.la
|
2016-10-18 06:50:40 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_SOURCES = \
|
|
|
|
src/core/devices/bluetooth/nm-bluez-manager.c \
|
|
|
|
src/core/devices/bluetooth/nm-bluez-manager.h \
|
|
|
|
src/core/devices/bluetooth/nm-device-bt.c \
|
|
|
|
src/core/devices/bluetooth/nm-device-bt.h \
|
2019-08-10 08:39:46 +00:00
|
|
|
$(NULL)
|
2016-10-18 06:50:40 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_CPPFLAGS = $(src_core_cppflags_device_plugin)
|
2016-10-18 06:50:40 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_LDFLAGS = \
|
2016-10-18 06:50:40 +00:00
|
|
|
-module -avoid-version \
|
2016-11-22 17:25:03 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
2016-10-18 06:50:40 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_libnm_device_plugin_bluetooth_la_LIBADD = \
|
|
|
|
src/core/devices/bluetooth/libnm-bluetooth-utils.la \
|
|
|
|
src/core/devices/wwan/libnm-wwan.la \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-18 06:50:40 +00:00
|
|
|
|
2019-08-24 12:27:11 +00:00
|
|
|
###############################################################################
|
2016-10-18 06:50:40 +00:00
|
|
|
|
2019-08-24 12:27:11 +00:00
|
|
|
check_programs_norun += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/bluetooth/tests/nm-bt-test
|
2019-08-24 12:27:11 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_tests_nm_bt_test_CPPFLAGS = \
|
|
|
|
$(src_core_cppflags_test) \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(NULL)
|
2020-05-13 19:59:50 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_tests_nm_bt_test_LDFLAGS = \
|
2020-05-13 19:59:50 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_bluetooth_tests_nm_bt_test_LDADD = \
|
|
|
|
src/core/devices/bluetooth/libnm-bluetooth-utils.la \
|
|
|
|
src/core/libNetworkManager.la \
|
2019-08-24 12:27:11 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_bluetooth_tests_nm_bt_test_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2019-08-24 12:27:11 +00:00
|
|
|
|
|
|
|
###############################################################################
|
2016-10-18 06:50:40 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-bluetooth: src/core/devices/bluetooth/libnm-device-plugin-bluetooth.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/bluetooth/.libs/libnm-device-plugin-bluetooth.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/bluetooth/.libs/libnm-device-plugin-bluetooth.so)
|
2016-10-18 06:50:40 +00:00
|
|
|
|
|
|
|
check_local += check-local-devices-bluetooth
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/bluetooth/meson.build \
|
2019-09-24 10:56:09 +00:00
|
|
|
$(NULL)
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/wifi
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if WITH_WIFI
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
noinst_LTLIBRARIES += src/core/devices/wifi/libnm-wifi-base.la
|
|
|
|
|
|
|
|
src_core_devices_wifi_libnm_wifi_base_la_SOURCES = \
|
|
|
|
src/core/devices/wifi/nm-device-olpc-mesh.c \
|
|
|
|
src/core/devices/wifi/nm-device-olpc-mesh.h \
|
|
|
|
src/core/devices/wifi/nm-device-wifi-p2p.c \
|
|
|
|
src/core/devices/wifi/nm-device-wifi-p2p.h \
|
|
|
|
src/core/devices/wifi/nm-device-wifi.c \
|
|
|
|
src/core/devices/wifi/nm-device-wifi.h \
|
|
|
|
src/core/devices/wifi/nm-wifi-ap.c \
|
|
|
|
src/core/devices/wifi/nm-wifi-ap.h \
|
|
|
|
src/core/devices/wifi/nm-wifi-common.c \
|
|
|
|
src/core/devices/wifi/nm-wifi-common.h \
|
|
|
|
src/core/devices/wifi/nm-wifi-p2p-peer.c \
|
|
|
|
src/core/devices/wifi/nm-wifi-p2p-peer.h \
|
|
|
|
src/core/devices/wifi/nm-wifi-utils.c \
|
|
|
|
src/core/devices/wifi/nm-wifi-utils.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
$(NULL)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
2017-12-09 15:28:10 +00:00
|
|
|
if WITH_IWD
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_wifi_base_la_SOURCES += \
|
|
|
|
src/core/devices/wifi/nm-device-iwd.c \
|
|
|
|
src/core/devices/wifi/nm-device-iwd.h \
|
2021-11-06 05:16:00 +00:00
|
|
|
src/core/devices/wifi/nm-device-iwd-p2p.c \
|
|
|
|
src/core/devices/wifi/nm-device-iwd-p2p.h \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/wifi/nm-iwd-manager.c \
|
|
|
|
src/core/devices/wifi/nm-iwd-manager.h \
|
2018-10-10 21:30:46 +00:00
|
|
|
$(NULL)
|
2017-12-09 15:28:10 +00:00
|
|
|
endif
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_wifi_base_la_CPPFLAGS = $(src_core_cppflags_device_plugin)
|
2020-01-04 12:55:07 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_wifi_base_la_LIBADD = \
|
2020-01-04 12:55:07 +00:00
|
|
|
$(GLIB_LIBS)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_wifi_libnm_wifi_base_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2020-01-04 12:55:07 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/wifi/libnm-device-plugin-wifi.la
|
2020-01-04 12:55:07 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
|
|
|
|
src/core/devices/wifi/nm-wifi-factory.c \
|
2020-01-04 12:55:07 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_device_plugin_wifi_la_CPPFLAGS = $(src_core_cppflags_device_plugin)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_device_plugin_wifi_la_LDFLAGS = \
|
2016-10-18 07:06:00 +00:00
|
|
|
-module -avoid-version \
|
2016-11-22 17:25:03 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver"
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_libnm_device_plugin_wifi_la_LIBADD = \
|
|
|
|
src/core/devices/wifi/libnm-wifi-base.la \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(GLIB_LIBS)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-wifi: src/core/devices/wifi/libnm-device-plugin-wifi.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/wifi/.libs/libnm-device-plugin-wifi.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/wifi/.libs/libnm-device-plugin-wifi.so)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
|
|
|
check_local += check-local-devices-wifi
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/devices/wifi/tests/test-devices-wifi
|
2016-10-18 07:10:44 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_tests_test_devices_wifi_SOURCES = \
|
|
|
|
src/core/devices/wifi/tests/test-devices-wifi.c \
|
2020-01-04 12:55:07 +00:00
|
|
|
$(NULL)
|
2016-10-18 07:10:44 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_tests_test_devices_wifi_CPPFLAGS = $(src_core_cppflags_base_test)
|
2016-10-18 07:10:44 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_tests_test_devices_wifi_LDADD = \
|
|
|
|
src/core/devices/wifi/libnm-wifi-base.la \
|
|
|
|
src/core/libNetworkManagerTest.la \
|
|
|
|
src/core/libNetworkManagerBase.la \
|
2020-01-04 12:55:07 +00:00
|
|
|
$(NULL)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_wifi_tests_test_devices_wifi_LDFLAGS = $(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 07:10:44 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_wifi_tests_test_devices_wifi_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-18 07:06:00 +00:00
|
|
|
endif
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/wifi/meson.build \
|
2019-09-24 11:07:50 +00:00
|
|
|
$(NULL)
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/team
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
|
|
|
|
Revert "Makefile: rework team compilation flags"
I don't think we should do this.
- renamining/dropping configure options is still an annoyance,
because it requires to different ./configure options depending
on the version. The rename from --enable-teamctl to --enable-team
might be theoretically nice, but more annoying then helpful.
- There is no strict dependency between --enable-team and
--enable-json-validation. At most, one could argue that
when enabling the team plugin (--enable-teamctl), then
libnm must also be build with --enable-json-validation.
But in fact, the team plugin will happily work with a
libnm that doesn't link against libjansson.
That is --enable-teamctl --disable-json-validation will work
in practice just fine.
On the other hand, libnm is a client library to create connection
profiles, fully supporting team profiles also makes sense if the
actual plugin is not installed (or build). Thus, --disable-teamctl
--enable-json-validation certainly makes sense.
At this point, one might ask whether libnm is even still complete without
libjansson. Maybe libnm should *require* --enable-json-validation.
But that is not what the patch was doing, and it would also need
some careful consideration before doing so.
This reverts commit 9d5cd7eae8edc8c558d26f04ffd163effafe57f9.
2017-12-08 07:56:46 +00:00
|
|
|
if WITH_TEAMDCTL
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/team/libnm-device-plugin-team.la
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_team_libnm_device_plugin_team_la_SOURCES = \
|
|
|
|
src/core/devices/team/nm-team-factory.c \
|
|
|
|
src/core/devices/team/nm-device-team.c \
|
|
|
|
src/core/devices/team/nm-device-team.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_team_libnm_device_plugin_team_la_CPPFLAGS = \
|
|
|
|
$(src_core_cppflags_device_plugin) \
|
2016-11-22 17:23:12 +00:00
|
|
|
$(LIBTEAMDCTL_CFLAGS) \
|
2017-02-21 15:26:49 +00:00
|
|
|
$(JANSSON_CFLAGS) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_team_libnm_device_plugin_team_la_LDFLAGS = \
|
2016-10-18 07:06:00 +00:00
|
|
|
-module -avoid-version \
|
2019-05-15 08:34:53 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver" \
|
|
|
|
$(NULL)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_team_libnm_device_plugin_team_la_LIBADD = \
|
2016-10-18 07:06:00 +00:00
|
|
|
$(LIBTEAMDCTL_LIBS) \
|
2017-02-21 15:26:49 +00:00
|
|
|
$(JANSSON_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-team: src/core/devices/team/libnm-device-plugin-team.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/team/.libs/libnm-device-plugin-team.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/team/.libs/libnm-device-plugin-team.so)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
|
|
|
check_local += check-local-devices-team
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/team/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2017-08-01 16:27:22 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/ovs
|
2017-08-01 16:27:22 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if WITH_OPENVSWITCH
|
|
|
|
|
|
|
|
if HAVE_SYSTEMD
|
|
|
|
|
|
|
|
systemdnmunitdir = $(systemdsystemunitdir)/NetworkManager.service.d
|
|
|
|
systemdnmunit_DATA = \
|
|
|
|
data/NetworkManager-ovs.conf
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
core_plugins += src/core/devices/ovs/libnm-device-plugin-ovs.la
|
2017-08-01 16:27:22 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_ovs_libnm_device_plugin_ovs_la_SOURCES = \
|
|
|
|
src/core/devices/ovs/nm-ovsdb.c \
|
|
|
|
src/core/devices/ovs/nm-ovsdb.h \
|
|
|
|
src/core/devices/ovs/nm-ovs-factory.c \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-interface.c \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-interface.h \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-port.c \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-port.h \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-bridge.c \
|
|
|
|
src/core/devices/ovs/nm-device-ovs-bridge.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2017-08-01 16:27:22 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_ovs_libnm_device_plugin_ovs_la_CPPFLAGS = \
|
|
|
|
$(src_core_cppflags_device_plugin) \
|
2017-08-01 16:27:22 +00:00
|
|
|
$(JANSSON_CFLAGS) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
2017-08-01 16:27:22 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_ovs_libnm_device_plugin_ovs_la_LDFLAGS = \
|
2017-08-01 16:27:22 +00:00
|
|
|
-module -avoid-version \
|
2019-05-15 08:34:53 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-devices.ver" \
|
|
|
|
$(NULL)
|
2017-08-01 16:27:22 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_ovs_libnm_device_plugin_ovs_la_LIBADD = \
|
2017-08-01 16:27:22 +00:00
|
|
|
$(JANSSON_LIBS) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2017-08-01 16:27:22 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check-local-devices-ovs: src/core/devices/ovs/libnm-device-plugin-ovs.la
|
|
|
|
$(srcdir)/tools/check-exports.sh $(builddir)/src/core/devices/ovs/.libs/libnm-device-plugin-ovs.so "$(srcdir)/linker-script-devices.ver"
|
|
|
|
$(call check_so_symbols,$(builddir)/src/core/devices/ovs/.libs/libnm-device-plugin-ovs.so)
|
2017-08-01 16:27:22 +00:00
|
|
|
|
2021-07-21 19:21:18 +00:00
|
|
|
check_local += check-local-devices-ovs
|
|
|
|
|
2017-08-01 16:27:22 +00:00
|
|
|
endif
|
|
|
|
|
2017-10-31 08:11:43 +00:00
|
|
|
EXTRA_DIST += \
|
2018-01-08 12:06:54 +00:00
|
|
|
data/NetworkManager-ovs.conf \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/ovs/meson.build
|
2017-10-31 08:11:43 +00:00
|
|
|
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/dnsmasq/tests
|
2016-10-18 07:06:00 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/dnsmasq/tests/test-dnsmasq-utils
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dnsmasq_tests_test_dnsmasq_utils_CPPFLAGS = $(src_core_cppflags_test)
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dnsmasq_tests_test_dnsmasq_utils_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-18 07:06:00 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_dnsmasq_tests_test_dnsmasq_utils_LDFLAGS = \
|
2018-05-30 08:23:17 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_dnsmasq_tests_test_dnsmasq_utils_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/dnsmasq/tests/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/platform/tests
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_platform_tests_ldflags = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_platform_tests_libadd = \
|
|
|
|
src/core/libNetworkManagerTest.la \
|
2016-10-18 07:36:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
2018-02-15 15:54:30 +00:00
|
|
|
$(LIBUDEV_LIBS)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
2016-10-23 08:52:48 +00:00
|
|
|
check_programs_norun += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/platform/tests/monitor
|
2016-10-18 07:36:53 +00:00
|
|
|
|
|
|
|
check_programs += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/platform/tests/test-address-fake \
|
|
|
|
src/core/platform/tests/test-address-linux \
|
|
|
|
src/core/platform/tests/test-cleanup-fake \
|
|
|
|
src/core/platform/tests/test-cleanup-linux \
|
|
|
|
src/core/platform/tests/test-link-fake \
|
|
|
|
src/core/platform/tests/test-link-linux \
|
|
|
|
src/core/platform/tests/test-nmp-object \
|
|
|
|
src/core/platform/tests/test-platform-general \
|
|
|
|
src/core/platform/tests/test-route-fake \
|
|
|
|
src/core/platform/tests/test-route-linux \
|
|
|
|
src/core/platform/tests/test-tc-linux \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_core_platform_tests_monitor_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_platform_tests_monitor_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_monitor_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_address_fake_SOURCES = src/core/platform/tests/test-address.c
|
|
|
|
src_core_platform_tests_test_address_fake_CPPFLAGS = $(src_core_tests_cppflags_fake)
|
|
|
|
src_core_platform_tests_test_address_fake_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_address_fake_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_address_linux_SOURCES = src/core/platform/tests/test-address.c
|
|
|
|
src_core_platform_tests_test_address_linux_CPPFLAGS = $(src_core_tests_cppflags_linux)
|
|
|
|
src_core_platform_tests_test_address_linux_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_address_linux_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_cleanup_fake_SOURCES = src/core/platform/tests/test-cleanup.c
|
|
|
|
src_core_platform_tests_test_cleanup_fake_CPPFLAGS = $(src_core_tests_cppflags_fake)
|
|
|
|
src_core_platform_tests_test_cleanup_fake_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_cleanup_fake_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_cleanup_linux_SOURCES = src/core/platform/tests/test-cleanup.c
|
|
|
|
src_core_platform_tests_test_cleanup_linux_CPPFLAGS = $(src_core_tests_cppflags_linux)
|
|
|
|
src_core_platform_tests_test_cleanup_linux_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_cleanup_linux_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_link_fake_SOURCES = src/core/platform/tests/test-link.c
|
|
|
|
src_core_platform_tests_test_link_fake_CPPFLAGS = $(src_core_tests_cppflags_fake)
|
|
|
|
src_core_platform_tests_test_link_fake_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_link_fake_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_link_linux_SOURCES = src/core/platform/tests/test-link.c
|
|
|
|
src_core_platform_tests_test_link_linux_CPPFLAGS = $(src_core_tests_cppflags_linux)
|
|
|
|
src_core_platform_tests_test_link_linux_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_link_linux_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_nmp_object_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_platform_tests_test_nmp_object_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_nmp_object_LDADD = src/core/libNetworkManagerTest.la
|
|
|
|
|
|
|
|
src_core_platform_tests_test_platform_general_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_platform_tests_test_platform_general_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_platform_general_LDADD = src/core/libNetworkManagerTest.la
|
|
|
|
|
|
|
|
src_core_platform_tests_test_route_fake_SOURCES = src/core/platform/tests/test-route.c
|
|
|
|
src_core_platform_tests_test_route_fake_CPPFLAGS = $(src_core_tests_cppflags_fake)
|
|
|
|
src_core_platform_tests_test_route_fake_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_route_fake_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_route_linux_SOURCES = src/core/platform/tests/test-route.c
|
|
|
|
src_core_platform_tests_test_route_linux_CPPFLAGS = $(src_core_tests_cppflags_linux)
|
|
|
|
src_core_platform_tests_test_route_linux_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_route_linux_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
src_core_platform_tests_test_tc_linux_SOURCES = src/core/platform/tests/test-tc.c
|
|
|
|
src_core_platform_tests_test_tc_linux_CPPFLAGS = $(src_core_tests_cppflags_linux)
|
|
|
|
src_core_platform_tests_test_tc_linux_LDFLAGS = $(src_core_platform_tests_ldflags)
|
|
|
|
src_core_platform_tests_test_tc_linux_LDADD = $(src_core_platform_tests_libadd)
|
|
|
|
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_platform_tests_monitor_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_address_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_address_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_cleanup_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_cleanup_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_link_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_link_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_nmp_object_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_platform_general_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_route_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_route_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_tc_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_platform_tests_test_tc_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/platform/tests/meson.build \
|
2019-05-18 09:28:26 +00:00
|
|
|
$(NULL)
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/devices/tests
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_tests_ldflags = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
|
|
|
check_programs += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/tests/test-lldp \
|
2021-08-06 13:17:05 +00:00
|
|
|
$(NULL)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_devices_tests_test_lldp_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_devices_tests_test_lldp_LDFLAGS = $(src_core_devices_tests_ldflags)
|
|
|
|
src_core_devices_tests_test_lldp_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-18 07:36:53 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_devices_tests_test_lldp_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/devices/tests/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/ndisc/tests
|
2016-10-18 07:36:53 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ndisc_tests_ldflags = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ndisc_tests_ldadd = \
|
|
|
|
src/core/libNetworkManagerTest.la \
|
2016-10-18 07:36:53 +00:00
|
|
|
$(GLIB_LIBS)
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/ndisc/tests/test-ndisc-fake
|
|
|
|
check_programs_norun += src/core/ndisc/tests/test-ndisc-linux
|
2016-10-18 07:36:53 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ndisc_tests_test_ndisc_linux_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_ndisc_tests_test_ndisc_linux_LDFLAGS = $(src_core_ndisc_tests_ldflags)
|
|
|
|
src_core_ndisc_tests_test_ndisc_linux_LDADD = $(src_core_ndisc_tests_ldadd)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_ndisc_tests_test_ndisc_fake_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_ndisc_tests_test_ndisc_fake_LDFLAGS = $(src_core_ndisc_tests_ldflags)
|
|
|
|
src_core_ndisc_tests_test_ndisc_fake_LDADD = $(src_core_ndisc_tests_ldadd)
|
2016-10-18 07:36:53 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_ndisc_tests_test_ndisc_linux_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_ndisc_tests_test_ndisc_fake_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ndisc/tests/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2016-10-18 09:29:57 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/supplicant/tests
|
2016-10-18 09:29:57 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/supplicant/tests/test-supplicant-config
|
2016-10-18 09:29:57 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_supplicant_tests_test_supplicant_config_CPPFLAGS = $(src_core_cppflags_test)
|
2016-10-18 09:29:57 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_supplicant_tests_test_supplicant_config_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-18 09:29:57 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_supplicant_tests_test_supplicant_config_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_supplicant_tests_test_supplicant_config_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-18 09:29:57 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/supplicant/tests/certs/test-ca-cert.pem \
|
|
|
|
src/core/supplicant/tests/certs/test-cert.p12 \
|
|
|
|
src/core/supplicant/tests/meson.build
|
2016-10-18 09:29:57 +00:00
|
|
|
|
2016-10-18 09:54:58 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/tests/config
|
2016-10-18 09:54:58 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
check_programs += src/core/tests/config/test-config
|
2016-10-18 09:54:58 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_config_test_config_SOURCES = \
|
|
|
|
src/core/tests/config/nm-test-device.c \
|
|
|
|
src/core/tests/config/nm-test-device.h \
|
|
|
|
src/core/tests/config/test-config.c
|
2016-10-18 09:54:58 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_config_test_config_CPPFLAGS = $(src_core_cppflags_test)
|
2016-10-18 09:54:58 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_config_test_config_LDADD = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-18 09:54:58 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_config_test_config_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_tests_config_test_config_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-18 09:54:58 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/tests/config/NetworkManager.conf \
|
|
|
|
src/core/tests/config/NetworkManager-warn.conf \
|
|
|
|
src/core/tests/config/NetworkManager.state \
|
|
|
|
src/core/tests/config/bad.conf \
|
2022-09-12 11:21:51 +00:00
|
|
|
src/core/tests/config/global-dns-good.conf \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/tests/config/global-dns-invalid.conf \
|
2022-09-12 11:21:51 +00:00
|
|
|
src/core/tests/config/global-dns-options.conf \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/tests/config/conf.d/00-overrides.conf \
|
|
|
|
src/core/tests/config/conf.d/10-more.conf \
|
|
|
|
src/core/tests/config/conf.d/20-config-enable-1.conf \
|
|
|
|
src/core/tests/config/conf.d/90-last.conf \
|
|
|
|
src/core/tests/config/meson.build
|
2016-10-18 09:54:58 +00:00
|
|
|
|
2016-10-18 09:54:58 +00:00
|
|
|
###############################################################################
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
# src/core/tests
|
2016-10-18 09:54:58 +00:00
|
|
|
###############################################################################
|
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_ldflags = \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 09:54:58 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_ldadd = \
|
|
|
|
src/core/libNetworkManagerTest.la
|
2016-10-18 09:54:58 +00:00
|
|
|
|
|
|
|
check_programs += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/tests/test-core \
|
|
|
|
src/core/tests/test-core-with-expect \
|
|
|
|
src/core/tests/test-dcb \
|
|
|
|
src/core/tests/test-l3cfg \
|
|
|
|
src/core/tests/test-systemd \
|
|
|
|
src/core/tests/test-utils \
|
|
|
|
src/core/tests/test-wired-defname \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_core_tests_test_dcb_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_dcb_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_tests_test_dcb_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
|
|
|
src_core_tests_test_core_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_core_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_tests_test_core_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
|
|
|
src_core_tests_test_core_with_expect_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_core_with_expect_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_tests_test_core_with_expect_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
|
|
|
src_core_tests_test_wired_defname_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_wired_defname_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_tests_test_wired_defname_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
|
|
|
src_core_tests_test_utils_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_utils_LDFLAGS = $(src_core_tests_ldflags)
|
|
|
|
src_core_tests_test_utils_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
|
|
|
src_core_tests_test_l3cfg_CPPFLAGS = $(src_core_cppflags_test)
|
|
|
|
src_core_tests_test_l3cfg_LDFLAGS = $(src_core_devices_tests_ldflags)
|
|
|
|
src_core_tests_test_l3cfg_LDADD = $(src_core_tests_ldadd)
|
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_tests_test_core_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_tests_test_core_with_expect_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_tests_test_dcb_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_tests_test_l3cfg_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_tests_test_utils_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_core_tests_test_wired_defname_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
|
|
|
|
src_core_tests_test_systemd_CPPFLAGS = \
|
2021-05-27 14:40:23 +00:00
|
|
|
$(src_libnm_systemd_core_libnm_systemd_core_la_cppflags) \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2019-04-08 15:38:44 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_test_systemd_LDFLAGS = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2019-04-08 15:38:44 +00:00
|
|
|
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src_core_tests_test_systemd_LDADD = \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-systemd-core/libnm-systemd-core.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-systemd-shared/libnm-systemd-shared.la \
|
2021-07-08 06:24:09 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-05-27 14:40:23 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-07-08 06:24:09 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2019-05-15 10:51:04 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
2018-05-30 11:19:07 +00:00
|
|
|
$(NULL)
|
2016-10-18 09:54:58 +00:00
|
|
|
|
2021-02-12 14:01:09 +00:00
|
|
|
$(src_core_tests_test_systemd_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-18 09:54:58 +00:00
|
|
|
EXTRA_DIST += \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/tests/test-secret-agent.py \
|
|
|
|
src/core/tests/meson.build
|
2016-10-18 09:54:58 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
2021-02-24 19:31:37 +00:00
|
|
|
# src/nm-dispatcher
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2019-05-23 10:38:19 +00:00
|
|
|
dispatcher_nmdbus_dispatcher_sources = \
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/nmdbus-dispatcher.h \
|
|
|
|
src/nm-dispatcher/nmdbus-dispatcher.c \
|
2019-05-23 10:38:19 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/nmdbus-dispatcher.h: src/nm-dispatcher/nm-dispatcher.xml
|
|
|
|
@$(MKDIR_P) src/nm-dispatcher/
|
2019-05-23 10:38:19 +00:00
|
|
|
$(AM_V_GEN) gdbus-codegen \
|
|
|
|
--generate-c-code $(basename $@) \
|
|
|
|
--c-namespace NMDBus \
|
|
|
|
--interface-prefix org.freedesktop \
|
|
|
|
$<
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/nmdbus-dispatcher.c: src/nm-dispatcher/nmdbus-dispatcher.h
|
2019-05-23 10:38:19 +00:00
|
|
|
|
|
|
|
CLEANFILES += $(dispatcher_nmdbus_dispatcher_sources)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
libexec_PROGRAMS += src/nm-dispatcher/nm-dispatcher
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
noinst_LTLIBRARIES += src/nm-dispatcher/libnm-dispatcher-core.la
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
dispatcher_cppflags = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src \
|
2021-02-24 19:31:37 +00:00
|
|
|
-I$(builddir)/src \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_libnm_dispatcher_core_la_SOURCES = \
|
|
|
|
src/nm-dispatcher/nm-dispatcher-utils.c \
|
|
|
|
src/nm-dispatcher/nm-dispatcher-utils.h \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_libnm_dispatcher_core_la_CPPFLAGS = $(dispatcher_cppflags)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_libnm_dispatcher_core_la_LIBADD = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(GLIB_LIBS)
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_nm_dispatcher_SOURCES = \
|
|
|
|
src/nm-dispatcher/nm-dispatcher.c \
|
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.
2019-04-15 07:26:53 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_nm_dispatcher_CPPFLAGS = $(dispatcher_cppflags)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_nm_dispatcher_LDFLAGS = \
|
2020-05-13 19:59:50 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_nm_dispatcher_LDADD = \
|
|
|
|
src/nm-dispatcher/libnm-dispatcher-core.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-24 19:31:37 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/org.freedesktop.nm_dispatcher.service: $(srcdir)/src/nm-dispatcher/org.freedesktop.nm_dispatcher.service.in
|
2016-10-18 12:01:56 +00:00
|
|
|
@sed \
|
|
|
|
-e 's|@sbindir[@]|$(sbindir)|g' \
|
|
|
|
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
|
|
|
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
|
|
|
-e 's|@libexecdir[@]|$(libexecdir)|g' \
|
|
|
|
$< >$@
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
dbusactivation_DATA += src/nm-dispatcher/org.freedesktop.nm_dispatcher.service
|
|
|
|
CLEANFILES += src/nm-dispatcher/org.freedesktop.nm_dispatcher.service
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
install-data-hook-dispatcher:
|
2018-11-15 18:18:46 +00:00
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dispatcher.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dispatcher.d/pre-down.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dispatcher.d/pre-up.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmconfdir)/dispatcher.d/no-wait.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/dispatcher.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/dispatcher.d/pre-down.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/dispatcher.d/pre-up.d
|
|
|
|
$(mkinstalldirs) -m 0755 $(DESTDIR)$(nmlibdir)/dispatcher.d/no-wait.d
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
install_data_hook += install-data-hook-dispatcher
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
dbusservice_DATA += src/nm-dispatcher/nm-dispatcher.conf
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/nm-dispatcher.conf \
|
|
|
|
src/nm-dispatcher/org.freedesktop.nm_dispatcher.service.in \
|
|
|
|
src/nm-dispatcher/nm-dispatcher.xml \
|
|
|
|
src/nm-dispatcher/meson.build \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
2021-02-24 19:31:37 +00:00
|
|
|
# src/nm-dispatcher/tests
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
check_programs += src/nm-dispatcher/tests/test-dispatcher-envp
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_tests_test_dispatcher_envp_CPPFLAGS = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src \
|
2021-02-24 19:31:37 +00:00
|
|
|
-I$(builddir)/src \
|
2018-02-07 10:10:31 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
2018-05-30 08:23:17 +00:00
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
introspection: avoid compiler warning in generated introspection files
Disable "-Wincompatible-pointer-types-discards-qualifiers" warning, as
this breaks build of the gdbus-codegen files.
With glib2-2.67.0-1.fc34.x86_64.rpm, clang-11.0.0-2.fc34.x86_64.rpm, we
get a failure to build generated code:
introspection/org.freedesktop.NetworkManager.AccessPoint.c:438:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_INTERFACE (NMDBusAccessPoint, nmdbus_access_point, G_TYPE_OBJECT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1784:47: note: expanded from macro 'G_DEFINE_INTERFACE'
#define G_DEFINE_INTERFACE(TN, t_n, T_P) G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, ;)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1803:61: note: expanded from macro 'G_DEFINE_INTERFACE_WITH_CODE'
#define G_DEFINE_INTERFACE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_INTERFACE_EXTENDED_BEGIN(TN, t_n, T_P) {_C_;} _G_DEFINE_INTERFACE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2042:7: note: expanded from macro '_G_DEFINE_INTERFACE_EXTENDED_BEGIN'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:944:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointProxy, nmdbus_access_point_proxy, G_TYPE_DBUS_PROXY,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
introspection/org.freedesktop.NetworkManager.AccessPoint.c:1729:1: error: passing 'typeof (*(&g_define_type_id__volatile)) *' (aka 'volatile unsigned long *') to parameter of type 'gsize *' (aka 'unsigned long *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
G_DEFINE_TYPE_WITH_CODE (NMDBusAccessPointSkeleton, nmdbus_access_point_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:1615:56: note: expanded from macro 'G_DEFINE_TYPE_WITH_CODE'
#define G_DEFINE_TYPE_WITH_CODE(TN, t_n, T_P, _C_) _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, 0) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2032:3: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/gobject/gtype.h:2000:7: note: expanded from macro '_G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER'
if (g_once_init_enter (&g_define_type_id__volatile)) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: expanded from macro 'g_once_init_enter'
(!g_atomic_pointer_get (location) && \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gatomic.h:112:38: note: expanded from macro 'g_atomic_pointer_get'
__atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
^~~~~~~~~~~~~~~~~
2020-11-02 08:12:10 +00:00
|
|
|
$(INTROSPECTION_EXTRA_CFLAGS) \
|
2018-05-30 08:23:17 +00:00
|
|
|
$(NULL)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_tests_test_dispatcher_envp_SOURCES = \
|
|
|
|
src/nm-dispatcher/tests/test-dispatcher-envp.c \
|
2019-05-23 10:38:19 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
nodist_src_nm_dispatcher_tests_test_dispatcher_envp_SOURCES = $(dispatcher_nmdbus_dispatcher_sources)
|
2019-05-23 10:38:19 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
$(src_nm_dispatcher_tests_test_dispatcher_envp_OBJECTS): $(dispatcher_nmdbus_dispatcher_sources)
|
|
|
|
$(src_nm_dispatcher_tests_test_dispatcher_envp_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_dispatcher_tests_test_dispatcher_envp_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2019-05-23 10:38:19 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_tests_test_dispatcher_envp_LDFLAGS = \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
src_nm_dispatcher_tests_test_dispatcher_envp_LDADD = \
|
|
|
|
src/nm-dispatcher/libnm-dispatcher-core.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-06-30 20:02:51 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-02-24 19:31:37 +00:00
|
|
|
$(src_nm_dispatcher_tests_test_dispatcher_envp_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
EXTRA_DIST += \
|
2021-02-24 19:31:37 +00:00
|
|
|
src/nm-dispatcher/tests/dispatcher-connectivity-full \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-connectivity-unknown \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-down \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-external \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-up \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-vpn-down \
|
|
|
|
src/nm-dispatcher/tests/dispatcher-vpn-up \
|
|
|
|
src/nm-dispatcher/tests/meson.build \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
###############################################################################
|
2021-12-13 15:06:16 +00:00
|
|
|
# src/nm-priv-helper
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
libexec_PROGRAMS += src/nm-priv-helper/nm-priv-helper
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
src_nm_priv_helper_nm_priv_helper_SOURCES = \
|
|
|
|
src/nm-priv-helper/nm-priv-helper.c \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
src_nm_priv_helper_nm_priv_helper_CPPFLAGS = \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(GLIB_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
src_nm_priv_helper_nm_priv_helper_LDFLAGS = \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
src_nm_priv_helper_nm_priv_helper_LDADD = \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
|
|
|
src/c-siphash/libc-siphash.la \
|
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2022-02-08 15:43:22 +00:00
|
|
|
src/nm-priv-helper/org.freedesktop.nm_priv_helper.service: $(srcdir)/src/nm-priv-helper/org.freedesktop.nm_priv_helper.service.in
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
@sed \
|
|
|
|
-e 's|@libexecdir[@]|$(libexecdir)|g' \
|
|
|
|
$< >$@
|
|
|
|
|
2022-02-08 15:43:22 +00:00
|
|
|
dbusactivation_DATA += src/nm-priv-helper/org.freedesktop.nm_priv_helper.service
|
|
|
|
CLEANFILES += src/nm-priv-helper/org.freedesktop.nm_priv_helper.service
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
dbusservice_DATA += src/nm-priv-helper/nm-priv-helper.conf
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-12-13 15:06:16 +00:00
|
|
|
src/nm-priv-helper/nm-priv-helper.conf \
|
2022-02-08 15:43:22 +00:00
|
|
|
src/nm-priv-helper/org.freedesktop.nm_priv_helper.service.in \
|
2021-12-13 15:06:16 +00:00
|
|
|
src/nm-priv-helper/meson.build \
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-05-24 19:49:35 +00:00
|
|
|
###############################################################################
|
|
|
|
# src/nm-daemon-helper
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
libexec_PROGRAMS += src/nm-daemon-helper/nm-daemon-helper
|
|
|
|
|
|
|
|
src_nm_daemon_helper_nm_daemon_helper_CPPFLAGS = \
|
|
|
|
$(dflt_cppflags) \
|
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_nm_daemon_helper_nm_daemon_helper_LDFLAGS = \
|
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_nm_daemon_helper_nm_daemon_helper_LDADD = \
|
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
|
|
|
src/nm-daemon-helper/meson.build \
|
|
|
|
$(NULL)
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
2021-03-01 12:58:36 +00:00
|
|
|
# src/nm-online
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
bin_PROGRAMS += src/nm-online/nm-online
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
src_nm_online_nm_online_CPPFLAGS = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-02-18 16:37:47 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
src_nm_online_nm_online_LDFLAGS = \
|
2020-05-13 19:59:50 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
src_nm_online_nm_online_LDADD = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2020-04-28 20:12:21 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
$(src_nm_online_nm_online_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_online_nm_online_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2021-03-01 12:58:36 +00:00
|
|
|
EXTRA_DIST += src/nm-online/meson.build
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
2021-03-01 11:42:48 +00:00
|
|
|
# src/libnmc-base
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2017-04-04 08:31:07 +00:00
|
|
|
clients_cppflags = \
|
build: pass -std=gnu99 to compiler
With --enable-more-warnings, we already used -std=gnu99, see
commit ba2b2de3adcf3e8286249523e3841858e0c2655c.
Compilation may behave differently depending on the selected
C standard that we choose. It seems wrong, with more-warnings,
to build against a C standard, while otherwise leaving it undefind.
Indeed, one might argue, that our build system should not use
such compiler specific options. At least, not without detecting
support for the compiler option during ./configure.
However:
- we already did this for --enable-more-warnings.
- we should not program against a theoretical compiler. In practice,
only gcc and clang works to build NetworkManager. Both these compilers
support this option, so there is no reason to not use it. If we ever
come into the situation to support another compiler, adjusting -std=gnu99
will be the smallest problem. Until that happens (and that's far from
imminent), don't pretend to be portable to non-existing compilers and
use the flag that in practice is available.
See-also: https://gcc.gnu.org/onlinedocs/gcc/Standards.html
2018-07-12 08:23:35 +00:00
|
|
|
$(dflt_cppflags) \
|
2021-03-01 11:42:48 +00:00
|
|
|
-I$(srcdir)/src \
|
|
|
|
-I$(builddir)/src \
|
2021-02-12 14:01:09 +00:00
|
|
|
-I$(srcdir)/src/libnm-core-public \
|
2021-03-01 11:42:48 +00:00
|
|
|
-I$(builddir)/src/libnm-core-public \
|
2021-02-19 14:23:34 +00:00
|
|
|
-I$(srcdir)/src/libnm-client-public \
|
2021-03-01 11:42:48 +00:00
|
|
|
-I$(builddir)/src/libnm-client-public \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(GLIB_CFLAGS) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(SANITIZER_EXEC_CFLAGS) \
|
2018-01-02 12:37:06 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
check_ltlibraries += src/libnmc-base/libnmc-base.la
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_base_libnmc_base_la_SOURCES = \
|
|
|
|
src/libnmc-base/nm-client-utils.c \
|
|
|
|
src/libnmc-base/nm-client-utils.h \
|
|
|
|
src/libnmc-base/nm-polkit-listener.c \
|
|
|
|
src/libnmc-base/nm-polkit-listener.h \
|
|
|
|
src/libnmc-base/nm-secret-agent-simple.c \
|
|
|
|
src/libnmc-base/nm-secret-agent-simple.h \
|
|
|
|
src/libnmc-base/nm-vpn-helpers.c \
|
|
|
|
src/libnmc-base/nm-vpn-helpers.h \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(NULL)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2019-09-11 14:45:12 +00:00
|
|
|
EXTRA_DIST += \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-base/qrcodegen.c \
|
|
|
|
src/libnmc-base/qrcodegen.h \
|
|
|
|
$(NULL)
|
2019-09-11 14:45:12 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_base_libnmc_base_la_CPPFLAGS = \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(clients_cppflags) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_base_libnmc_base_la_LIBADD = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2018-05-30 11:19:07 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
$(src_libnmc_base_libnmc_base_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnmc_base_libnmc_base_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-25 10:27:26 +00:00
|
|
|
EXTRA_DIST += src/libnmc-base/meson.build
|
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
###############################################################################
|
|
|
|
# src/libnmc-setting
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
libnmc_setting_settings_doc_h = src/libnmc-setting/settings-docs.h
|
2020-11-01 16:57:33 +00:00
|
|
|
if BUILD_DOCS
|
2022-06-16 19:09:33 +00:00
|
|
|
$(libnmc_setting_settings_doc_h): src/libnmc-setting/settings-docs-input.xml src/libnmc-setting/.dirstamp tools/generate-docs-settings-docs.py
|
|
|
|
$(AM_V_GEN) "$(PYTHON)" $(srcdir)/tools/generate-docs-settings-docs.py --output $@ --xml $<
|
2021-03-01 11:42:48 +00:00
|
|
|
DISTCLEANFILES += $(libnmc_setting_settings_doc_h)
|
|
|
|
check-local-settings-docs: $(libnmc_setting_settings_doc_h)
|
2022-10-26 07:59:42 +00:00
|
|
|
$(srcdir)/tools/check-compare-generated.sh "$(srcdir)/$(libnmc_setting_settings_doc_h).in" "$(builddir)/$(libnmc_setting_settings_doc_h)"
|
build: commit pre-generated "settings-docs.c" in git
nmcli has documentation strings embedded. Those strings are extracted
from gtk-doc comments, using pygobject and put in the generated file
"clients/common/settings-docs.c".
This file "clients/common/settings-docs.c" is disted, so from
a source tarball you can build nmcli without enabling introspection.
However, when building from a git-tree, the file is missing and
thus one cannot build --with-nmcli unless also using at least
--enable-introspection to generate "clients/common/settings-docs.c".
That is inconvenient. Especially during cross-compilation, where
one also needs python and pygobject in the foreign architecture (because
the generation of "settings-docs.c" loads the built libnm.so via
pygobject). It is bad because nmcli is an essential part of
NetworkManager, so building --without-nmcli is not a great option.
Previously, the only alternative was to pre-generate a source tarball
on a separate machine and build that. This however complicates efforts
to automatically build git snapshots of NetworkManager.
Fix that by commiting "clients/common/settings-docs.c.in" to git.
When building with --disable-introspection, the pre-generated
file is used instead. This is fine, because the file only depends
on static, checked-in documentation strings that seldomly change.
Also add a check target to notice when the pre-generated file differs
from what we are about to generate during --enable-introspection.
That happens when editing one of the gtk-doc entires. In this case,
`make check` will notify that the pre-generated "settings-docs.c.in"
file needs updating too.
Yes, when changing gtk-doc comments you need to updte the file manually.
At least, the check failure notifies you.
2017-04-05 08:50:09 +00:00
|
|
|
check_local += check-local-settings-docs
|
2017-04-04 08:31:07 +00:00
|
|
|
else
|
2021-03-01 11:42:48 +00:00
|
|
|
$(libnmc_setting_settings_doc_h): $(libnmc_setting_settings_doc_h).in src/libnmc-setting/.dirstamp
|
|
|
|
$(AM_V_GEN) cp "$(srcdir)/$(libnmc_setting_settings_doc_h).in" "$(builddir)/$(libnmc_setting_settings_doc_h)"
|
build: commit pre-generated "settings-docs.c" in git
nmcli has documentation strings embedded. Those strings are extracted
from gtk-doc comments, using pygobject and put in the generated file
"clients/common/settings-docs.c".
This file "clients/common/settings-docs.c" is disted, so from
a source tarball you can build nmcli without enabling introspection.
However, when building from a git-tree, the file is missing and
thus one cannot build --with-nmcli unless also using at least
--enable-introspection to generate "clients/common/settings-docs.c".
That is inconvenient. Especially during cross-compilation, where
one also needs python and pygobject in the foreign architecture (because
the generation of "settings-docs.c" loads the built libnm.so via
pygobject). It is bad because nmcli is an essential part of
NetworkManager, so building --without-nmcli is not a great option.
Previously, the only alternative was to pre-generate a source tarball
on a separate machine and build that. This however complicates efforts
to automatically build git snapshots of NetworkManager.
Fix that by commiting "clients/common/settings-docs.c.in" to git.
When building with --disable-introspection, the pre-generated
file is used instead. This is fine, because the file only depends
on static, checked-in documentation strings that seldomly change.
Also add a check target to notice when the pre-generated file differs
from what we are about to generate during --enable-introspection.
That happens when editing one of the gtk-doc entires. In this case,
`make check` will notify that the pre-generated "settings-docs.c.in"
file needs updating too.
Yes, when changing gtk-doc comments you need to updte the file manually.
At least, the check failure notifies you.
2017-04-05 08:50:09 +00:00
|
|
|
check-local-settings-docs:
|
2017-04-04 08:31:07 +00:00
|
|
|
endif
|
build: commit pre-generated "settings-docs.c" in git
nmcli has documentation strings embedded. Those strings are extracted
from gtk-doc comments, using pygobject and put in the generated file
"clients/common/settings-docs.c".
This file "clients/common/settings-docs.c" is disted, so from
a source tarball you can build nmcli without enabling introspection.
However, when building from a git-tree, the file is missing and
thus one cannot build --with-nmcli unless also using at least
--enable-introspection to generate "clients/common/settings-docs.c".
That is inconvenient. Especially during cross-compilation, where
one also needs python and pygobject in the foreign architecture (because
the generation of "settings-docs.c" loads the built libnm.so via
pygobject). It is bad because nmcli is an essential part of
NetworkManager, so building --without-nmcli is not a great option.
Previously, the only alternative was to pre-generate a source tarball
on a separate machine and build that. This however complicates efforts
to automatically build git snapshots of NetworkManager.
Fix that by commiting "clients/common/settings-docs.c.in" to git.
When building with --disable-introspection, the pre-generated
file is used instead. This is fine, because the file only depends
on static, checked-in documentation strings that seldomly change.
Also add a check target to notice when the pre-generated file differs
from what we are about to generate during --enable-introspection.
That happens when editing one of the gtk-doc entires. In this case,
`make check` will notify that the pre-generated "settings-docs.c.in"
file needs updating too.
Yes, when changing gtk-doc comments you need to updte the file manually.
At least, the check failure notifies you.
2017-04-05 08:50:09 +00:00
|
|
|
EXTRA_DIST += \
|
2022-06-16 19:09:33 +00:00
|
|
|
tools/generate-docs-settings-docs.py \
|
2021-03-01 11:42:48 +00:00
|
|
|
$(libnmc_setting_settings_doc_h) \
|
|
|
|
$(libnmc_setting_settings_doc_h).in
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
check_ltlibraries += src/libnmc-setting/libnmc-setting.la
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_setting_libnmc_setting_la_SOURCES = \
|
|
|
|
src/libnmc-setting/nm-meta-setting-access.c \
|
|
|
|
src/libnmc-setting/nm-meta-setting-access.h \
|
|
|
|
src/libnmc-setting/nm-meta-setting-base-impl.c \
|
|
|
|
src/libnmc-setting/nm-meta-setting-base-impl.h \
|
|
|
|
src/libnmc-setting/nm-meta-setting-base.h \
|
|
|
|
src/libnmc-setting/nm-meta-setting-desc.c \
|
|
|
|
src/libnmc-setting/nm-meta-setting-desc.h \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_setting_libnmc_setting_la_CPPFLAGS = \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(clients_cppflags) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_setting_libnmc_setting_la_LIBADD = \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2019-05-15 08:34:53 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
$(src_libnmc_setting_libnmc_setting_la_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnmc_setting_libnmc_setting_la_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
|
|
|
$(src_libnmc_setting_libnmc_setting_la_OBJECTS): $(libnmc_setting_settings_doc_h)
|
|
|
|
$(src_libnmc_setting_libnmc_setting_la_OBJECTS): src/libnmc-setting/.dirstamp
|
2017-04-04 08:31:07 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
###############################################################################
|
2017-04-04 08:41:22 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
check_programs += src/libnmc-setting/tests/test-libnmc-setting
|
|
|
|
|
|
|
|
src_libnmc_setting_tests_test_libnmc_setting_CPPFLAGS = \
|
2017-04-04 08:41:22 +00:00
|
|
|
$(clients_cppflags) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NULL)
|
2018-02-07 10:10:31 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_setting_tests_test_libnmc_setting_LDFLAGS = \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
2017-04-04 08:41:22 +00:00
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
src_libnmc_setting_tests_test_libnmc_setting_LDADD = \
|
|
|
|
src/libnmc-setting/libnmc-setting.la \
|
|
|
|
src/libnmc-base/libnmc-base.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-06-30 20:02:51 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2017-04-04 08:41:22 +00:00
|
|
|
$(GLIB_LIBS)
|
|
|
|
|
2021-03-01 11:42:48 +00:00
|
|
|
$(src_libnmc_setting_tests_test_libnmc_setting_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnmc_setting_tests_test_libnmc_setting_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2019-04-21 08:11:16 +00:00
|
|
|
|
2019-03-06 15:59:53 +00:00
|
|
|
EXTRA_DIST += \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/tests/wg-test0.conf \
|
|
|
|
src/libnmc-setting/tests/wg-test1.conf \
|
|
|
|
src/libnmc-setting/tests/wg-test2.conf \
|
|
|
|
src/libnmc-setting/tests/wg-test3.conf \
|
2019-03-06 15:59:53 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2017-04-04 08:31:07 +00:00
|
|
|
###############################################################################
|
2021-03-14 08:26:51 +00:00
|
|
|
# src/nmcli
|
2017-04-04 08:31:07 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if BUILD_NMCLI
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
bin_PROGRAMS += src/nmcli/nmcli
|
|
|
|
|
|
|
|
src_nmcli_nmcli_SOURCES = \
|
|
|
|
src/nmcli/common.c \
|
|
|
|
src/nmcli/common.h \
|
|
|
|
src/nmcli/utils.c \
|
|
|
|
src/nmcli/utils.h \
|
|
|
|
src/nmcli/agent.c \
|
|
|
|
src/nmcli/general.c \
|
|
|
|
src/nmcli/connections.c \
|
|
|
|
src/nmcli/connections.h \
|
|
|
|
src/nmcli/devices.c \
|
|
|
|
src/nmcli/devices.h \
|
|
|
|
src/nmcli/settings.c \
|
|
|
|
src/nmcli/settings.h \
|
|
|
|
src/nmcli/nmcli.c \
|
|
|
|
src/nmcli/nmcli.h \
|
|
|
|
src/nmcli/polkit-agent.c \
|
|
|
|
src/nmcli/polkit-agent.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_nmcli_nmcli_CPPFLAGS = \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(clients_cppflags) \
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nmcli_nmcli_LDADD = \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/libnmc-setting.la \
|
|
|
|
src/libnmc-base/libnmc-base.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
|
|
|
src/libnm-client-impl/libnm.la \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(GLIB_LIBS) \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(READLINE_LIBS)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nmcli_nmcli_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
$(src_nmcli_nmcli_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nmcli_nmcli_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
install-data-hook-nmcli:
|
|
|
|
$(mkinstalldirs) $(DESTDIR)$(completiondir)
|
2021-03-14 08:26:51 +00:00
|
|
|
$(INSTALL_DATA) $(srcdir)/src/nmcli/nmcli-completion $(DESTDIR)$(completiondir)/nmcli
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
install_data_hook += install-data-hook-nmcli
|
|
|
|
|
|
|
|
uninstall-hook-nmcli:
|
|
|
|
rm -f $(DESTDIR)$(completiondir)/nmcli
|
|
|
|
|
|
|
|
uninstall_hook += uninstall-hook-nmcli
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2020-06-04 14:53:40 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
noinst_PROGRAMS += src/nmcli/gen-metadata-nm-settings-nmcli
|
2020-06-04 14:53:40 +00:00
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
src_nmcli_gen_metadata_nm_settings_nmcli_SOURCES = \
|
|
|
|
src/nmcli/gen-metadata-nm-settings-nmcli.c \
|
2020-06-04 14:53:40 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
src_nmcli_gen_metadata_nm_settings_nmcli_CPPFLAGS = \
|
2020-06-04 14:53:40 +00:00
|
|
|
$(clients_cppflags) \
|
|
|
|
$(NULL)
|
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
src_nmcli_gen_metadata_nm_settings_nmcli_LDADD = \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/libnmc-setting.la \
|
|
|
|
src/libnmc-base/libnmc-base.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2020-06-04 14:53:40 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
src_nmcli_gen_metadata_nm_settings_nmcli_LDFLAGS = \
|
2020-06-04 14:53:40 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2022-10-26 08:19:19 +00:00
|
|
|
$(src_nmcli_gen_metadata_nm_settings_nmcli_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nmcli_gen_metadata_nm_settings_nmcli_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2020-06-04 14:53:40 +00:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
EXTRA_DIST += \
|
2021-03-14 08:26:51 +00:00
|
|
|
src/nmcli/nmcli-completion \
|
|
|
|
src/nmcli/meson.build \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/meson.build \
|
|
|
|
src/libnmc-setting/tests/meson.build
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
2021-03-01 12:43:47 +00:00
|
|
|
# src/libnmt-newt
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if BUILD_NMTUI
|
|
|
|
|
2021-03-01 12:43:47 +00:00
|
|
|
noinst_LIBRARIES += src/libnmt-newt/libnmt-newt.a
|
|
|
|
|
|
|
|
src_libnmt_newt_libnmt_newt_a_SOURCES = \
|
|
|
|
src/libnmt-newt/nmt-newt-button-box.c \
|
|
|
|
src/libnmt-newt/nmt-newt-button-box.h \
|
|
|
|
src/libnmt-newt/nmt-newt-button.c \
|
|
|
|
src/libnmt-newt/nmt-newt-button.h \
|
|
|
|
src/libnmt-newt/nmt-newt-checkbox.c \
|
|
|
|
src/libnmt-newt/nmt-newt-checkbox.h \
|
|
|
|
src/libnmt-newt/nmt-newt-component.c \
|
|
|
|
src/libnmt-newt/nmt-newt-component.h \
|
|
|
|
src/libnmt-newt/nmt-newt-container.c \
|
|
|
|
src/libnmt-newt/nmt-newt-container.h \
|
|
|
|
src/libnmt-newt/nmt-newt-entry-numeric.c \
|
|
|
|
src/libnmt-newt/nmt-newt-entry-numeric.h \
|
|
|
|
src/libnmt-newt/nmt-newt-entry.c \
|
|
|
|
src/libnmt-newt/nmt-newt-entry.h \
|
|
|
|
src/libnmt-newt/nmt-newt-form.c \
|
|
|
|
src/libnmt-newt/nmt-newt-form.h \
|
|
|
|
src/libnmt-newt/nmt-newt-grid.c \
|
|
|
|
src/libnmt-newt/nmt-newt-grid.h \
|
|
|
|
src/libnmt-newt/nmt-newt-hacks.c \
|
|
|
|
src/libnmt-newt/nmt-newt-hacks.h \
|
|
|
|
src/libnmt-newt/nmt-newt-label.c \
|
|
|
|
src/libnmt-newt/nmt-newt-label.h \
|
|
|
|
src/libnmt-newt/nmt-newt-listbox.c \
|
|
|
|
src/libnmt-newt/nmt-newt-listbox.h \
|
|
|
|
src/libnmt-newt/nmt-newt-popup.c \
|
|
|
|
src/libnmt-newt/nmt-newt-popup.h \
|
|
|
|
src/libnmt-newt/nmt-newt-section.c \
|
|
|
|
src/libnmt-newt/nmt-newt-section.h \
|
|
|
|
src/libnmt-newt/nmt-newt-separator.c \
|
|
|
|
src/libnmt-newt/nmt-newt-separator.h \
|
|
|
|
src/libnmt-newt/nmt-newt-stack.c \
|
|
|
|
src/libnmt-newt/nmt-newt-stack.h \
|
|
|
|
src/libnmt-newt/nmt-newt-textbox.c \
|
|
|
|
src/libnmt-newt/nmt-newt-textbox.h \
|
|
|
|
src/libnmt-newt/nmt-newt-toggle-button.c \
|
|
|
|
src/libnmt-newt/nmt-newt-toggle-button.h \
|
|
|
|
src/libnmt-newt/nmt-newt-types.h \
|
|
|
|
src/libnmt-newt/nmt-newt-utils.c \
|
|
|
|
src/libnmt-newt/nmt-newt-utils.h \
|
|
|
|
src/libnmt-newt/nmt-newt-widget.c \
|
|
|
|
src/libnmt-newt/nmt-newt-widget.h \
|
|
|
|
src/libnmt-newt/nmt-newt.h \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_libnmt_newt_libnmt_newt_a_CPPFLAGS = \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(clients_cppflags) \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(NEWT_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-01 12:43:47 +00:00
|
|
|
$(src_libnmt_newt_libnmt_newt_a_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_libnmt_newt_libnmt_newt_a_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
EXTRA_DIST += src/libnmt-newt/meson.build
|
|
|
|
|
|
|
|
###############################################################################
|
2021-03-14 13:54:09 +00:00
|
|
|
# src/nmtui
|
2021-03-01 12:43:47 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if BUILD_NMTUI
|
2018-05-02 11:03:59 +00:00
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
bin_PROGRAMS += src/nmtui/nmtui
|
|
|
|
|
|
|
|
src_nmtui_nmtui_SOURCES = \
|
|
|
|
src/nmtui/nmtui.c \
|
|
|
|
src/nmtui/nmtui.h \
|
|
|
|
src/nmtui/nmtui-connect.c \
|
|
|
|
src/nmtui/nmtui-connect.h \
|
|
|
|
src/nmtui/nmtui-edit.c \
|
|
|
|
src/nmtui/nmtui-edit.h \
|
|
|
|
src/nmtui/nmtui-hostname.c \
|
|
|
|
src/nmtui/nmtui-hostname.h \
|
2023-06-08 17:45:52 +00:00
|
|
|
src/nmtui/nmtui-radio.c \
|
|
|
|
src/nmtui/nmtui-radio.h \
|
2016-10-18 12:01:56 +00:00
|
|
|
\
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nm-editor-bindings.c \
|
|
|
|
src/nmtui/nm-editor-bindings.h \
|
|
|
|
src/nmtui/nm-editor-utils.c \
|
|
|
|
src/nmtui/nm-editor-utils.h \
|
2016-10-18 12:01:56 +00:00
|
|
|
\
|
2022-07-26 19:41:12 +00:00
|
|
|
src/nmtui/nmt-8021x-fields.c \
|
|
|
|
src/nmtui/nmt-8021x-fields.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-address-list.c \
|
|
|
|
src/nmtui/nmt-address-list.h \
|
|
|
|
src/nmtui/nmt-connect-connection-list.c \
|
|
|
|
src/nmtui/nmt-connect-connection-list.h \
|
|
|
|
src/nmtui/nmt-device-entry.c \
|
|
|
|
src/nmtui/nmt-device-entry.h \
|
|
|
|
src/nmtui/nmt-edit-connection-list.c \
|
|
|
|
src/nmtui/nmt-edit-connection-list.h \
|
|
|
|
src/nmtui/nmt-editor-grid.c \
|
|
|
|
src/nmtui/nmt-editor-grid.h \
|
|
|
|
src/nmtui/nmt-editor-page-device.c \
|
|
|
|
src/nmtui/nmt-editor-page-device.h \
|
2022-07-26 19:41:12 +00:00
|
|
|
src/nmtui/nmt-editor-page.c \
|
|
|
|
src/nmtui/nmt-editor-page.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-editor-section.c \
|
|
|
|
src/nmtui/nmt-editor-section.h \
|
|
|
|
src/nmtui/nmt-editor.c \
|
|
|
|
src/nmtui/nmt-editor.h \
|
|
|
|
src/nmtui/nmt-ip-entry.c \
|
|
|
|
src/nmtui/nmt-ip-entry.h \
|
|
|
|
src/nmtui/nmt-mac-entry.c \
|
|
|
|
src/nmtui/nmt-mac-entry.h \
|
|
|
|
src/nmtui/nmt-mtu-entry.c \
|
|
|
|
src/nmtui/nmt-mtu-entry.h \
|
2021-08-23 14:00:54 +00:00
|
|
|
src/nmtui/nmt-page-bond-port.c \
|
|
|
|
src/nmtui/nmt-page-bond-port.h \
|
2021-08-26 14:26:33 +00:00
|
|
|
src/nmtui/nmt-page-bond.c \
|
|
|
|
src/nmtui/nmt-page-bond.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-page-bridge-port.c \
|
|
|
|
src/nmtui/nmt-page-bridge-port.h \
|
2021-08-26 14:26:33 +00:00
|
|
|
src/nmtui/nmt-page-bridge.c \
|
|
|
|
src/nmtui/nmt-page-bridge.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-page-dsl.c \
|
|
|
|
src/nmtui/nmt-page-dsl.h \
|
|
|
|
src/nmtui/nmt-page-ethernet.c \
|
|
|
|
src/nmtui/nmt-page-ethernet.h \
|
|
|
|
src/nmtui/nmt-page-infiniband.c \
|
|
|
|
src/nmtui/nmt-page-infiniband.h \
|
|
|
|
src/nmtui/nmt-page-ip-tunnel.c \
|
|
|
|
src/nmtui/nmt-page-ip-tunnel.h \
|
|
|
|
src/nmtui/nmt-page-ip4.c \
|
|
|
|
src/nmtui/nmt-page-ip4.h \
|
|
|
|
src/nmtui/nmt-page-ip6.c \
|
|
|
|
src/nmtui/nmt-page-ip6.h \
|
2022-09-26 11:45:35 +00:00
|
|
|
src/nmtui/nmt-page-macsec.c \
|
|
|
|
src/nmtui/nmt-page-macsec.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-page-ppp.c \
|
|
|
|
src/nmtui/nmt-page-ppp.h \
|
|
|
|
src/nmtui/nmt-page-team-port.c \
|
|
|
|
src/nmtui/nmt-page-team-port.h \
|
2021-08-26 14:26:33 +00:00
|
|
|
src/nmtui/nmt-page-team.c \
|
|
|
|
src/nmtui/nmt-page-team.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-page-vlan.c \
|
|
|
|
src/nmtui/nmt-page-vlan.h \
|
|
|
|
src/nmtui/nmt-page-wifi.c \
|
|
|
|
src/nmtui/nmt-page-wifi.h \
|
2021-01-27 18:27:12 +00:00
|
|
|
src/nmtui/nmt-page-wireguard.c \
|
|
|
|
src/nmtui/nmt-page-wireguard.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-password-dialog.c \
|
|
|
|
src/nmtui/nmt-password-dialog.h \
|
|
|
|
src/nmtui/nmt-password-fields.c \
|
|
|
|
src/nmtui/nmt-password-fields.h \
|
|
|
|
src/nmtui/nmt-route-editor.c \
|
|
|
|
src/nmtui/nmt-route-editor.h \
|
|
|
|
src/nmtui/nmt-route-entry.c \
|
|
|
|
src/nmtui/nmt-route-entry.h \
|
|
|
|
src/nmtui/nmt-route-table.c \
|
|
|
|
src/nmtui/nmt-route-table.h \
|
2023-07-19 10:29:32 +00:00
|
|
|
src/nmtui/nmt-port-list.c \
|
|
|
|
src/nmtui/nmt-port-list.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
src/nmtui/nmt-utils.c \
|
|
|
|
src/nmtui/nmt-utils.h \
|
2022-07-26 19:41:12 +00:00
|
|
|
src/nmtui/nmt-widget-list.c \
|
|
|
|
src/nmtui/nmt-widget-list.h \
|
2021-08-26 14:26:33 +00:00
|
|
|
src/nmtui/nmt-wireguard-peer-editor.c \
|
|
|
|
src/nmtui/nmt-wireguard-peer-editor.h \
|
|
|
|
src/nmtui/nmt-wireguard-peer-list.c \
|
|
|
|
src/nmtui/nmt-wireguard-peer-list.h \
|
2021-03-14 13:54:09 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
src_nmtui_nmtui_CPPFLAGS = \
|
2017-04-04 08:31:07 +00:00
|
|
|
$(clients_cppflags) \
|
2018-07-12 08:53:14 +00:00
|
|
|
$(NEWT_CFLAGS) \
|
build: create "config-extra.h" header instead of passing directory variables via CFLAGS
1) the command line gets shorter. I frequently run `make V=1` to see
the command line arguments for the compiler, and there is a lot
of noise.
2) define each of these variables at one place. This makes it easy
to verify that for all compilation units, a particular
define has the same value. Previously that was not obvious or
even not the case (see commit e5d1a71396e107d1909744d26ad401f206c0c915
and commit d63cf1ef2faba57595112a82e962b9643cce4718).
The point is to avoid redundancy.
3) not all compilation units need all defines. In fact, most modules
would only need a few of these defines. We aimed to pass the necessary
minium of defines to each compilation unit, but that was non-obvious
to get right and often we set a define that wasn't used. See for example
"src_settings_plugins_ibft_cppflags" which needlessly had "-DSYSCONFDIR".
This question is now entirely avoided by just defining all variables in
a header. We don't care to find the minimum, because every component
gets anyway all defines from the header.
4) this also avoids the situation, where a module that previously did
not use a particular define gets modified to require it. Previously,
that would have required to identify the missing define, and add
it to the CFLAGS of the complation unit. Since every compilation
now includes "config-extra.h", all defines are available everywhere.
5) the fact that each define is now available in all compilation units
could be perceived as a downside. But it isn't, because these defines
should have a unique name and one specific value. Defining the same
name with different values, or refer to the same value by different
names is a bug, not a desirable feature. Since these defines should
be unique accross the entire tree, there is no problem in providing
them to every compilation unit.
6) the reason why we generate "config-extra.h" this way, instead of using
AC_DEFINE() in configure.ac, is due to the particular handling of
autoconf for directory variables. See [1].
With meson, it would be trivial to put them into "config.h.meson".
While that is not easy with autoconf, the "config-extra.h" workaround
seems still preferable to me.
[1] https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
2018-07-12 08:58:23 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
src_nmtui_nmtui_LDFLAGS = \
|
2018-02-07 10:10:31 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
src_nmtui_nmtui_LDADD = \
|
2021-03-01 12:43:47 +00:00
|
|
|
src/libnmt-newt/libnmt-newt.a \
|
2021-03-01 11:42:48 +00:00
|
|
|
src/libnmc-setting/libnmc-setting.la \
|
|
|
|
src/libnmc-base/libnmc-base.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
build/autotools: fix linking libnm-log-null into various executables
Interestingly, on RHEL9 I suddenly get a linker error:
libtool: link: gcc -Wall -Werror -Wextra -Wdeclaration-after-statement -Wfloat-equal -Wformat-nonliteral -Wformat-security -Wimplicit-function-declaration -Winit-self -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wpointer-arith -Wshadow -Wshift-negative-value -Wstrict-prototypes -Wundef -Wvla -Wno-duplicate-decl-specifier -Wno-format-truncation -Wno-format-y2k -Wno-missing-field-initializers -Wno-pragmas -Wno-sign-compare -Wno-unknown-pragmas -Wno-unused-parameter -Wno-array-bounds -Wunused-value -Wcast-function-type -Wimplicit-fallthrough -fno-strict-aliasing -fdata-sections -ffunction-sections -Wl,--gc-sections -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--version-script=./linker-script-binary.ver -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -o src/nm-online/.libs/nm-online src/nm-online/nm_online-nm-online.o -Wl,--export-dynamic -pthread src/libnm-client-impl/.libs/libnm.so src/libnm-client-aux-extern/.libs/libnm-client-aux-extern.a /root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-client-impl/.libs/libnm.so -lgnutls -ludev src/libnm-glib-aux/.libs/libnm-glib-aux.a src/libnm-std-aux/.libs/libnm-std-aux.a src/c-siphash/.libs/libc-siphash.a -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -pthread
/usr/bin/ld: src/libnm-glib-aux/.libs/libnm-glib-aux.a(libnm_glib_aux_la-nm-time-utils.o): in function `_t_init_global_state':
/root/NetworkManager/contrib/fedora/rpm/NetworkManager.20220111-121006.2X0NXg/BUILD/NetworkManager-1.35.3/src/libnm-glib-aux/nm-time-utils.c:73: undefined reference to `_nm_utils_monotonic_timestamp_initialized'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:11437: src/nm-online/nm-online] Error 1
The linker is right. Fix it.
2022-01-11 20:27:36 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(GLIB_LIBS) \
|
2017-03-12 14:54:02 +00:00
|
|
|
$(NEWT_LIBS) \
|
2016-10-18 12:01:56 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
$(src_nmtui_nmtui_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nmtui_nmtui_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2017-03-28 20:37:19 +00:00
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
nmtui_links = \
|
|
|
|
nmtui-edit \
|
|
|
|
nmtui-connect \
|
|
|
|
nmtui-hostname \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
install-exec-hook-nmtui:
|
|
|
|
for link in $(nmtui_links); do \
|
|
|
|
$(LN_S) -f nmtui "$(DESTDIR)$(bindir)/$$link"; \
|
|
|
|
done
|
|
|
|
|
|
|
|
install_exec_hook += install-exec-hook-nmtui
|
|
|
|
|
|
|
|
uninstall-hook-nmtui:
|
|
|
|
for link in $(nmtui_links); do \
|
|
|
|
rm -f "$(DESTDIR)$(bindir)/$$link"; \
|
|
|
|
done
|
|
|
|
|
|
|
|
uninstall_hook += uninstall-hook-nmtui
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2021-03-14 13:54:09 +00:00
|
|
|
EXTRA_DIST += src/nmtui/meson.build
|
2018-01-08 12:06:54 +00:00
|
|
|
|
2019-11-12 14:54:22 +00:00
|
|
|
###############################################################################
|
2021-03-14 08:26:51 +00:00
|
|
|
# src/nm-cloud-setup
|
2019-11-12 14:54:22 +00:00
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if BUILD_NM_CLOUD_SETUP
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
noinst_LIBRARIES += src/nm-cloud-setup/libnm-cloud-setup-core.a
|
2019-11-12 14:54:22 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_libnm_cloud_setup_core_a_SOURCES = \
|
|
|
|
src/nm-cloud-setup/nm-cloud-setup-utils.c \
|
|
|
|
src/nm-cloud-setup/nm-cloud-setup-utils.h \
|
|
|
|
src/nm-cloud-setup/nm-http-client.c \
|
|
|
|
src/nm-cloud-setup/nm-http-client.h \
|
|
|
|
src/nm-cloud-setup/nmcs-provider.c \
|
|
|
|
src/nm-cloud-setup/nmcs-provider.h \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-ec2.c \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-ec2.h \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-gcp.c \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-gcp.h \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-azure.c \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-azure.h \
|
2021-06-07 01:15:12 +00:00
|
|
|
src/nm-cloud-setup/nmcs-provider-aliyun.c \
|
|
|
|
src/nm-cloud-setup/nmcs-provider-aliyun.h \
|
2019-11-12 14:54:22 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_libnm_cloud_setup_core_a_CPPFLAGS = \
|
2021-02-09 11:46:47 +00:00
|
|
|
$(clients_cppflags) \
|
|
|
|
$(LIBCURL_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
$(src_nm_cloud_setup_libnm_cloud_setup_core_a_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_cloud_setup_libnm_cloud_setup_core_a_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2021-02-09 11:46:47 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
libexec_PROGRAMS += src/nm-cloud-setup/nm-cloud-setup
|
2021-02-09 11:46:47 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_nm_cloud_setup_SOURCES = \
|
|
|
|
src/nm-cloud-setup/main.c \
|
2021-02-09 11:46:47 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_nm_cloud_setup_CPPFLAGS = \
|
2019-11-12 14:54:22 +00:00
|
|
|
$(clients_cppflags) \
|
|
|
|
$(LIBCURL_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_nm_cloud_setup_LDFLAGS = \
|
2019-11-12 14:54:22 +00:00
|
|
|
-Wl,--version-script="$(srcdir)/linker-script-binary.ver" \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_nm_cloud_setup_LDADD = \
|
|
|
|
src/nm-cloud-setup/libnm-cloud-setup-core.a \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-07-21 10:57:47 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2019-11-12 14:54:22 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(LIBCURL_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
$(src_nm_cloud_setup_nm_cloud_setup_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_cloud_setup_nm_cloud_setup_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2019-11-12 14:54:22 +00:00
|
|
|
|
|
|
|
if HAVE_SYSTEMD
|
|
|
|
|
|
|
|
systemdsystemunit_DATA += \
|
2021-03-14 08:26:51 +00:00
|
|
|
src/nm-cloud-setup/nm-cloud-setup.service \
|
|
|
|
src/nm-cloud-setup/nm-cloud-setup.timer \
|
2019-11-12 14:54:22 +00:00
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src/nm-cloud-setup/nm-cloud-setup.service: $(srcdir)/src/nm-cloud-setup/nm-cloud-setup.service.in
|
2019-11-12 14:54:22 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
|
|
|
|
|
|
|
install-data-hook-cloud-setup: install-data-hook-dispatcher
|
2023-06-07 14:45:22 +00:00
|
|
|
$(INSTALL_SCRIPT) "$(srcdir)/src/nm-cloud-setup/90-nm-cloud-setup.sh" "$(DESTDIR)$(nmlibdir)/dispatcher.d/pre-up.d/"
|
|
|
|
ln -fs ../pre-up.d/90-nm-cloud-setup.sh "$(DESTDIR)$(nmlibdir)/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh"
|
2019-11-12 14:54:22 +00:00
|
|
|
ln -fs no-wait.d/90-nm-cloud-setup.sh "$(DESTDIR)$(nmlibdir)/dispatcher.d/90-nm-cloud-setup.sh"
|
|
|
|
|
|
|
|
install_data_hook += install-data-hook-cloud-setup
|
|
|
|
|
|
|
|
uninstall-hook-cloud-setup:
|
2023-06-07 14:45:22 +00:00
|
|
|
rm -f "$(DESTDIR)$(nmlibdir)/dispatcher.d/pre-up.d/90-nm-cloud-setup.sh"
|
2019-11-12 14:54:22 +00:00
|
|
|
rm -f "$(DESTDIR)$(nmlibdir)/dispatcher.d/no-wait.d/90-nm-cloud-setup.sh"
|
|
|
|
rm -f "$(DESTDIR)$(nmlibdir)/dispatcher.d/90-nm-cloud-setup.sh"
|
|
|
|
|
|
|
|
uninstall_hook += uninstall-hook-cloud-setup
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-03-14 08:26:51 +00:00
|
|
|
src/nm-cloud-setup/90-nm-cloud-setup.sh \
|
|
|
|
src/nm-cloud-setup/meson.build \
|
|
|
|
src/nm-cloud-setup/nm-cloud-setup.service.in \
|
|
|
|
src/nm-cloud-setup/nm-cloud-setup.timer \
|
|
|
|
src/nm-cloud-setup/tests/meson.build \
|
2019-11-12 14:54:22 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
CLEANFILES += \
|
2021-03-14 08:26:51 +00:00
|
|
|
src/nm-cloud-setup/nm-cloud-setup.service
|
2019-11-12 14:54:22 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
check_programs += src/nm-cloud-setup/tests/test-cloud-setup-general
|
2021-02-09 12:13:36 +00:00
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_tests_test_cloud_setup_general_CPPFLAGS = \
|
2021-02-09 12:13:36 +00:00
|
|
|
$(clients_cppflags) \
|
|
|
|
$(LIBCURL_CFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_tests_test_cloud_setup_general_LDFLAGS = \
|
2021-02-09 12:13:36 +00:00
|
|
|
$(CODE_COVERAGE_LDFLAGS) \
|
|
|
|
$(SANITIZER_EXEC_LDFLAGS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
src_nm_cloud_setup_tests_test_cloud_setup_general_LDADD = \
|
|
|
|
src/nm-cloud-setup/libnm-cloud-setup-core.a \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-aux-extern/libnm-client-aux-extern.la \
|
2021-02-12 14:01:09 +00:00
|
|
|
src/libnm-core-aux-extern/libnm-core-aux-extern.la \
|
|
|
|
src/libnm-core-aux-intern/libnm-core-aux-intern.la \
|
2021-02-18 07:13:35 +00:00
|
|
|
src/libnm-base/libnm-base.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-glib-aux/libnm-glib-aux.la \
|
2021-07-21 10:57:47 +00:00
|
|
|
src/libnm-log-null/libnm-log-null.la \
|
2021-02-18 16:37:47 +00:00
|
|
|
src/libnm-std-aux/libnm-std-aux.la \
|
2021-02-19 11:31:57 +00:00
|
|
|
src/c-siphash/libc-siphash.la \
|
2021-02-19 14:23:34 +00:00
|
|
|
src/libnm-client-impl/libnm.la \
|
2021-02-09 12:13:36 +00:00
|
|
|
$(GLIB_LIBS) \
|
|
|
|
$(LIBCURL_LIBS) \
|
|
|
|
$(NULL)
|
|
|
|
|
2021-03-14 08:26:51 +00:00
|
|
|
$(src_nm_cloud_setup_tests_test_cloud_setup_general_OBJECTS): $(src_libnm_core_public_mkenums_h)
|
|
|
|
$(src_nm_cloud_setup_tests_test_cloud_setup_general_OBJECTS): $(src_libnm_client_public_mkenums_h)
|
2021-02-09 12:13:36 +00:00
|
|
|
|
2019-11-12 14:54:22 +00:00
|
|
|
endif
|
|
|
|
|
2018-05-04 07:02:53 +00:00
|
|
|
###############################################################################
|
2021-03-15 09:48:32 +00:00
|
|
|
# src/tests/client
|
2018-05-04 07:02:53 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-03-15 09:48:32 +00:00
|
|
|
check-local-tests-client: src/nmcli/nmcli src/tests/client/test-client.py
|
2023-03-02 18:31:53 +00:00
|
|
|
LIBTOOL="$(LIBTOOL)" "$(srcdir)/src/tests/client/test-client.sh" "$(builddir)" "$(srcdir)" "$(PYTHON)" -- TestNmcli
|
2018-05-04 07:02:53 +00:00
|
|
|
|
2021-03-15 09:48:32 +00:00
|
|
|
check_local += check-local-tests-client
|
2018-05-04 07:02:53 +00:00
|
|
|
|
2023-03-02 18:35:38 +00:00
|
|
|
check-local-tests-cloud-setup: src/nm-cloud-setup/nm-cloud-setup src/tests/client/test-client.py
|
|
|
|
LIBTOOL="$(LIBTOOL)" "$(srcdir)/src/tests/client/test-client.sh" "$(builddir)" "$(srcdir)" "$(PYTHON)" -- TestNmCloudSetup
|
|
|
|
|
|
|
|
if BUILD_NM_CLOUD_SETUP
|
|
|
|
check_local += check-local-tests-cloud-setup
|
|
|
|
endif
|
|
|
|
|
2021-03-15 09:48:32 +00:00
|
|
|
CLEANFILES += src/tests/client/test-client.log
|
2018-05-04 07:02:53 +00:00
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2021-03-15 09:59:24 +00:00
|
|
|
src/tests/client/test-client.sh \
|
2021-03-15 09:48:32 +00:00
|
|
|
src/tests/client/test-client.py \
|
|
|
|
src/tests/client/test-client.check-on-disk/test_001.expected \
|
|
|
|
src/tests/client/test-client.check-on-disk/test_002.expected \
|
|
|
|
src/tests/client/test-client.check-on-disk/test_003.expected \
|
|
|
|
src/tests/client/test-client.check-on-disk/test_004.expected \
|
2022-04-06 08:18:27 +00:00
|
|
|
src/tests/client/test-client.check-on-disk/test_offline.expected \
|
2023-07-27 10:35:15 +00:00
|
|
|
src/tests/client/test-client.check-on-disk/test_version_warn.expected \
|
2023-10-09 12:06:45 +00:00
|
|
|
src/tests/client/test-client.check-on-disk/test_daemon_not_running.expected \
|
2021-03-15 09:59:24 +00:00
|
|
|
\
|
|
|
|
src/tests/client/meson.build \
|
2018-07-20 14:32:07 +00:00
|
|
|
$(NULL)
|
2018-05-04 07:02:53 +00:00
|
|
|
|
2021-03-15 09:48:32 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2020-11-17 08:58:27 +00:00
|
|
|
check-local-gitlab-ci:
|
|
|
|
"$(srcdir)/tools/check-gitlab-ci.sh" "$(srcdir)"
|
|
|
|
|
|
|
|
check_local += check-local-gitlab-ci
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
# data
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if HAVE_SYSTEMD
|
|
|
|
|
2019-11-21 14:27:21 +00:00
|
|
|
systemdsystemunit_DATA += \
|
2016-10-18 12:01:56 +00:00
|
|
|
data/NetworkManager.service \
|
|
|
|
data/NetworkManager-wait-online.service \
|
2019-11-21 14:27:21 +00:00
|
|
|
data/NetworkManager-dispatcher.service \
|
2021-12-13 15:06:16 +00:00
|
|
|
data/nm-priv-helper.service \
|
2019-11-21 14:27:21 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
data/NetworkManager.service: $(srcdir)/data/NetworkManager.service.in
|
2016-11-16 19:03:16 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
data/NetworkManager-wait-online.service: $(srcdir)/data/NetworkManager-wait-online.service.in
|
2016-11-16 19:03:16 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
data/NetworkManager-dispatcher.service: $(srcdir)/data/NetworkManager-dispatcher.service.in
|
2016-11-16 19:03:16 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2021-12-13 15:06:16 +00:00
|
|
|
data/nm-priv-helper.service: $(srcdir)/data/nm-priv-helper.service.in
|
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.
For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.
For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.
https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-18 06:53:43 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
examples_DATA += data/server.conf
|
|
|
|
|
|
|
|
if WITH_UDEV_DIR
|
|
|
|
udevrulesdir = $(UDEV_DIR)/rules.d
|
|
|
|
udevrules_DATA = \
|
|
|
|
data/84-nm-drivers.rules \
|
2018-04-19 12:05:52 +00:00
|
|
|
data/85-nm-unmanaged.rules \
|
|
|
|
data/90-nm-thunderbolt.rules
|
2016-10-18 12:01:56 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
data/server.conf: $(srcdir)/data/server.conf.in
|
2017-02-16 14:55:23 +00:00
|
|
|
@$(MKDIR_P) data/
|
2016-11-16 19:03:16 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2020-05-08 07:09:25 +00:00
|
|
|
if WITH_FIREWALLD_ZONE
|
|
|
|
firewalldzonedir = $(prefix)/lib/firewalld/zones
|
|
|
|
firewalldzone_DATA = data/nm-shared.xml
|
|
|
|
endif
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
data/84-nm-drivers.rules \
|
|
|
|
data/85-nm-unmanaged.rules \
|
2018-04-19 12:05:52 +00:00
|
|
|
data/90-nm-thunderbolt.rules \
|
2019-11-21 14:27:21 +00:00
|
|
|
data/NetworkManager-dispatcher.service.in \
|
|
|
|
data/NetworkManager-wait-online.service.in \
|
|
|
|
data/NetworkManager.service.in \
|
2021-12-13 15:06:16 +00:00
|
|
|
data/nm-priv-helper.service.in \
|
2019-11-21 14:27:21 +00:00
|
|
|
data/meson.build \
|
2020-05-08 07:09:25 +00:00
|
|
|
data/nm-shared.xml \
|
2018-01-08 12:06:54 +00:00
|
|
|
data/server.conf.in \
|
2019-11-21 14:27:21 +00:00
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
|
|
|
CLEANFILES += \
|
|
|
|
data/NetworkManager-dispatcher.service \
|
2019-11-21 14:27:21 +00:00
|
|
|
data/NetworkManager-wait-online.service \
|
|
|
|
data/NetworkManager.service \
|
2021-12-13 15:06:16 +00:00
|
|
|
data/nm-priv-helper.service \
|
2019-11-21 14:27:21 +00:00
|
|
|
data/server.conf \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
###############################################################################
|
|
|
|
# man
|
|
|
|
###############################################################################
|
|
|
|
|
2017-02-15 17:02:52 +00:00
|
|
|
man/common.ent: man/common.ent.in
|
2017-02-16 14:55:23 +00:00
|
|
|
@$(MKDIR_P) man/
|
2017-02-15 17:02:52 +00:00
|
|
|
$(AM_V_GEN) $(data_edit) $< >$@
|
|
|
|
|
2016-11-23 17:26:57 +00:00
|
|
|
xsltproc_flags = \
|
|
|
|
--path man \
|
|
|
|
--xinclude \
|
|
|
|
--nonet \
|
2016-10-18 13:53:05 +00:00
|
|
|
--stringparam man.output.quietly 1 \
|
|
|
|
--stringparam funcsynopsis.style ansi \
|
|
|
|
--stringparam man.th.extra1.suppress 1 \
|
|
|
|
--stringparam man.authors.section.enabled 0 \
|
2017-03-06 12:47:26 +00:00
|
|
|
--stringparam man.copyright.section.enabled 0 \
|
|
|
|
--stringparam man.th.title.max.length 30
|
2016-10-18 13:53:05 +00:00
|
|
|
|
build: combine handling of setting docs and man pages
Building the man pages via xsltproc requires "docbook.xsl"
which is part of docbook.
Previously, we would build the man pages solely based on
"--enable-introspection", which checks for the presence of
xsltproc, but not docbook. This can lead to build failure
when docbook is not available, but "--enable-introspection"
is given.
Instead of adding yet another configure option to fine-tune
and say "--with-docbook --disable-gtk-doc", just simplify it.
Now, documentation (both man pages and setting docs) will be generated
with "--enable-gtk-doc" and "--enable-introspection".
If the documentation is not about to be generated, pre-generated docs
will be installed if they are available. That is commonly the case
with a source tarball, but not with a git checkout.
Finally, if documentation is nither generated nor pre-generated,
no documentation will be installed *duh*.
This removes the possibility to treat man pages separate from settings
docs. Now you either generate both, install both pre-generated, or don't
get any of them.
https://bugzilla.gnome.org/show_bug.cgi?id=778551
2017-02-13 15:26:20 +00:00
|
|
|
if BUILD_DOCS
|
2016-10-18 13:53:05 +00:00
|
|
|
|
2016-11-23 17:26:57 +00:00
|
|
|
man/%.1 man/%.5 man/%.7 man/%.8: man/%.xml man/common.ent
|
2016-11-24 17:04:33 +00:00
|
|
|
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
2016-11-23 17:50:05 +00:00
|
|
|
man_nm_settings_xml = \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
man/nm-settings-dbus.xml \
|
2020-05-28 11:51:56 +00:00
|
|
|
man/nm-settings-ifcfg-rh.xml \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
man/nm-settings-keyfile.xml \
|
|
|
|
man/nm-settings-nmcli.xml \
|
2020-05-28 11:51:56 +00:00
|
|
|
$(NULL)
|
2016-11-23 17:50:05 +00:00
|
|
|
|
2016-11-28 11:42:04 +00:00
|
|
|
if HAVE_INTROSPECTION
|
2016-10-18 13:53:05 +00:00
|
|
|
|
2020-06-09 16:53:47 +00:00
|
|
|
man/nm-settings-%.xml: man/nm-settings-%.xsl man/nm-settings-docs-%.xml man/common.ent
|
2020-05-28 11:51:56 +00:00
|
|
|
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags) $< $(word 2,$^)
|
|
|
|
|
2021-02-19 14:23:34 +00:00
|
|
|
man/nm-settings-keyfile.xml: man/nm-settings-keyfile.xsl src/libnm-client-impl/nm-property-infos-keyfile.xml man/common.ent
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags) $< $(word 2,$^)
|
2021-02-19 14:23:34 +00:00
|
|
|
man/nm-settings-ifcfg-rh.xml: man/nm-settings-ifcfg-rh.xsl src/libnm-client-impl/nm-property-infos-ifcfg-rh.xml man/common.ent
|
2020-06-02 15:47:30 +00:00
|
|
|
$(AM_V_GEN) $(XSLTPROC) --output $@ $(xsltproc_flags) $< $(word 2,$^)
|
2016-10-18 13:53:05 +00:00
|
|
|
|
2016-11-23 17:50:05 +00:00
|
|
|
CLEANFILES += $(man_nm_settings_xml)
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
man_pages += \
|
2021-03-16 13:30:58 +00:00
|
|
|
man/NetworkManager-dispatcher.8 \
|
2022-03-02 10:05:45 +00:00
|
|
|
man/NetworkManager-wait-online.service.8 \
|
|
|
|
man/NetworkManager.8 \
|
2016-10-18 13:53:05 +00:00
|
|
|
man/NetworkManager.conf.5 \
|
2018-04-28 18:36:15 +00:00
|
|
|
man/nm-initrd-generator.8 \
|
2022-03-02 10:05:45 +00:00
|
|
|
man/nm-online.1 \
|
2016-10-18 13:53:05 +00:00
|
|
|
man/nmcli-examples.7 \
|
2017-02-13 16:07:38 +00:00
|
|
|
man/nmcli.1 \
|
2021-03-16 13:30:58 +00:00
|
|
|
man/nmtui.1 \
|
|
|
|
$(NULL)
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
man_pages_autogen += \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
man/nm-settings-dbus.5 \
|
2017-02-13 16:07:38 +00:00
|
|
|
man/nm-settings-keyfile.5 \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
man/nm-settings-nmcli.5 \
|
|
|
|
$(NULL)
|
2017-10-30 16:32:30 +00:00
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
if CONFIG_PLUGIN_IFCFG_RH
|
|
|
|
man_pages_autogen += man/nm-settings-ifcfg-rh.5
|
|
|
|
else
|
|
|
|
EXTRA_DIST += man/nm-settings-ifcfg-rh.5
|
2016-11-15 09:50:19 +00:00
|
|
|
dist_dependencies += man/nm-settings-ifcfg-rh.5
|
2016-10-18 13:53:05 +00:00
|
|
|
endif
|
|
|
|
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
if WITH_OPENVSWITCH
|
|
|
|
man_pages += man/nm-openvswitch.7
|
|
|
|
else
|
|
|
|
EXTRA_DIST += man/nm-openvswitch.7
|
|
|
|
dist_dependencies += man/nm-openvswitch.7
|
|
|
|
endif
|
|
|
|
|
2020-12-03 17:12:21 +00:00
|
|
|
if BUILD_NM_CLOUD_SETUP
|
|
|
|
man_pages += man/nm-cloud-setup.8
|
|
|
|
else
|
|
|
|
EXTRA_DIST += man/nm-cloud-setup.8
|
|
|
|
dist_dependencies += man/nm-cloud-setup.8
|
|
|
|
endif
|
|
|
|
|
2017-02-15 22:10:13 +00:00
|
|
|
CLEANFILES += \
|
|
|
|
man/common.ent
|
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
EXTRA_DIST += \
|
2017-02-15 21:43:00 +00:00
|
|
|
man/common.ent.in \
|
2016-11-23 17:50:05 +00:00
|
|
|
$(man_nm_settings_xml) \
|
|
|
|
$(addsuffix .xsl,$(basename $(man_nm_settings_xml))) \
|
2016-10-18 13:53:05 +00:00
|
|
|
$(man_pages) \
|
2016-11-23 17:50:05 +00:00
|
|
|
$(addsuffix .xml,$(basename $(man_pages))) \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
$(man_pages_autogen) \
|
|
|
|
$(NULL)
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
|
2017-02-13 23:17:32 +00:00
|
|
|
if HAVE_DOCS
|
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
install-data-hook-man:
|
2017-02-13 23:17:32 +00:00
|
|
|
for link in $(nmtui_links); do \
|
|
|
|
ln -f $(DESTDIR)$(mandir)/man1/nmtui.1 $(DESTDIR)$(mandir)/man1/$$link.1; \
|
|
|
|
done; \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
ln -f $(DESTDIR)$(mandir)/man5/NetworkManager.conf.5 $(DESTDIR)$(mandir)/man5/nm-system-settings.conf.5; \
|
|
|
|
ln -f $(DESTDIR)$(mandir)/man5/nm-settings-nmcli.5 $(DESTDIR)$(mandir)/man5/nm-settings.5;
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
install_data_hook += install-data-hook-man
|
|
|
|
|
|
|
|
uninstall-hook-man:
|
2017-02-13 23:17:32 +00:00
|
|
|
for link in $(nmtui_links); do \
|
|
|
|
rm -f $(DESTDIR)$(mandir)/man1/$$link.1; \
|
|
|
|
done; \
|
docs: add more nm-settings manpages (dbus,nmcli,keyfile,ifcfg-rh)
A significant part of NetworkManager's API are the connection profiles, documented
in `man nm-settings*`. But there are different aspects about profiles, depending
on what you are interested. There is the D-Bus API, nmcli options, keyfile format,
and ifcfg-rh format. Additionally, there is also libnm API.
Add distinct manual pages for the four aspects. Currently the two new manual
pages "nm-settings-dbus" and "nm-settings-nmcli" are still identical to the
former "nm-settings.5" manual. In the future, they will diverge to
account for the differences.
There are the following aspects:
- "dbus"
- "keyfile"
- "ifcfg-rh"
- "nmcli"
For "libnm" we don't generate a separate "nm-settings-libnm" manual
page. That is instead documented via gtk-doc.
Currently the keyfile and ifcfg-rh manual pages only detail settings
which differ. But later I think also these manual pages should contain
all settings that apply.
2020-06-02 17:24:12 +00:00
|
|
|
rm -f $(DESTDIR)$(mandir)/man5/nm-system-settings.conf.5; \
|
|
|
|
rm -f $(DESTDIR)$(mandir)/man5/nm-settings.5;
|
2016-10-18 13:53:05 +00:00
|
|
|
|
|
|
|
uninstall_hook += uninstall-hook-man
|
|
|
|
|
|
|
|
man_MANS += $(man_pages)
|
|
|
|
man_MANS += $(man_pages_autogen)
|
2017-02-13 23:17:32 +00:00
|
|
|
|
2016-10-18 13:53:05 +00:00
|
|
|
endif
|
build: combine handling of setting docs and man pages
Building the man pages via xsltproc requires "docbook.xsl"
which is part of docbook.
Previously, we would build the man pages solely based on
"--enable-introspection", which checks for the presence of
xsltproc, but not docbook. This can lead to build failure
when docbook is not available, but "--enable-introspection"
is given.
Instead of adding yet another configure option to fine-tune
and say "--with-docbook --disable-gtk-doc", just simplify it.
Now, documentation (both man pages and setting docs) will be generated
with "--enable-gtk-doc" and "--enable-introspection".
If the documentation is not about to be generated, pre-generated docs
will be installed if they are available. That is commonly the case
with a source tarball, but not with a git checkout.
Finally, if documentation is nither generated nor pre-generated,
no documentation will be installed *duh*.
This removes the possibility to treat man pages separate from settings
docs. Now you either generate both, install both pre-generated, or don't
get any of them.
https://bugzilla.gnome.org/show_bug.cgi?id=778551
2017-02-13 15:26:20 +00:00
|
|
|
|
|
|
|
if BUILD_DOCS
|
|
|
|
CLEANFILES += $(man_pages)
|
|
|
|
CLEANFILES += $(man_pages_autogen)
|
2016-10-18 13:53:05 +00:00
|
|
|
endif
|
|
|
|
|
2016-11-15 09:50:19 +00:00
|
|
|
dist_dependencies += $(man_pages)
|
|
|
|
dist_dependencies += $(man_pages_autogen)
|
|
|
|
|
2018-01-08 12:06:54 +00:00
|
|
|
EXTRA_DIST += \
|
|
|
|
man/meson.build
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
# vapi
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
if ENABLE_VAPIGEN
|
|
|
|
|
2016-10-27 10:40:27 +00:00
|
|
|
VAPIGEN_VAPIS += \
|
|
|
|
vapi/libnm.vapi
|
|
|
|
|
2022-08-08 07:30:53 +00:00
|
|
|
vapi/libnm.vapi: \
|
|
|
|
$(builddir)/src/libnm-client-impl/NM-1.0.gir \
|
|
|
|
vapi/libnm.deps \
|
|
|
|
vapi/NM-1.0.metadata \
|
|
|
|
$(NULL)
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2016-10-27 10:40:27 +00:00
|
|
|
vapi_libnm_vapi_METADATADIRS = $(srcdir)/vapi
|
2021-02-19 14:23:34 +00:00
|
|
|
vapi_libnm_vapi_FILES = $(builddir)/src/libnm-client-impl/NM-1.0.gir
|
2016-11-03 13:00:04 +00:00
|
|
|
vapi_libnm_vapi_DEPS = gio-2.0
|
2016-10-27 10:40:27 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
vapi_DATA += \
|
|
|
|
$(VAPIGEN_VAPIS) \
|
|
|
|
$(VAPIGEN_VAPIS:.vapi=.deps)
|
|
|
|
|
|
|
|
CLEANFILES += $(VAPIGEN_VAPIS)
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
EXTRA_DIST += \
|
2016-11-03 13:00:04 +00:00
|
|
|
vapi/NM-1.0.metadata \
|
2016-11-03 12:49:09 +00:00
|
|
|
vapi/libnm.deps \
|
2018-01-08 12:06:54 +00:00
|
|
|
vapi/meson.build
|
2016-10-18 12:01:56 +00:00
|
|
|
|
2023-02-28 06:51:07 +00:00
|
|
|
check-local-vapi:
|
|
|
|
$(srcdir)/tools/check-vapi.sh
|
|
|
|
|
|
|
|
check_local += check-local-vapi
|
|
|
|
|
2016-10-15 14:24:59 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-10-14 13:54:40 +00:00
|
|
|
girdir = $(datadir)/gir-1.0
|
|
|
|
gir_DATA = $(INTROSPECTION_GIRS)
|
2016-11-22 18:30:06 +00:00
|
|
|
BUILT_SOURCES += $(gir_DATA)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
|
|
|
typelibdir = $(libdir)/girepository-1.0
|
|
|
|
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
2016-11-22 18:30:06 +00:00
|
|
|
BUILT_SOURCES += $(typelib_DATA)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
dbusservicedir = $(DBUS_SYS_DIR)
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
dbusservice_DATA += src/core/org.freedesktop.NetworkManager.conf
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2016-10-14 13:54:40 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-10-16 14:50:04 +00:00
|
|
|
if ENABLE_TESTS
|
2016-10-18 07:36:53 +00:00
|
|
|
noinst_PROGRAMS += $(check_programs) $(check_programs_norun)
|
2016-10-16 14:50:04 +00:00
|
|
|
noinst_LTLIBRARIES += $(check_ltlibraries)
|
|
|
|
else
|
2016-10-18 07:36:53 +00:00
|
|
|
check_PROGRAMS += $(check_programs) $(check_programs_norun)
|
2016-10-16 14:50:04 +00:00
|
|
|
check_LTLIBRARIES += $(check_ltlibraries)
|
|
|
|
endif
|
|
|
|
|
2018-03-18 19:38:49 +00:00
|
|
|
plugin_LTLIBRARIES += $(core_plugins)
|
2016-11-10 16:06:37 +00:00
|
|
|
|
2016-10-16 14:50:04 +00:00
|
|
|
TESTS += $(check_programs)
|
2016-10-14 13:54:40 +00:00
|
|
|
|
2016-10-14 10:13:50 +00:00
|
|
|
EXTRA_DIST += \
|
2022-03-17 10:22:05 +00:00
|
|
|
\
|
|
|
|
AUTHORS \
|
|
|
|
COPYING \
|
|
|
|
ChangeLog \
|
|
|
|
NEWS \
|
|
|
|
README.md \
|
|
|
|
\
|
2021-03-16 12:58:17 +00:00
|
|
|
CONTRIBUTING.md \
|
2019-09-07 16:11:34 +00:00
|
|
|
COPYING.LGPL \
|
|
|
|
COPYING.GFDL \
|
|
|
|
\
|
2016-10-12 09:16:20 +00:00
|
|
|
linker-script-binary.ver \
|
2016-10-13 11:02:49 +00:00
|
|
|
linker-script-devices.ver \
|
2016-10-12 09:09:21 +00:00
|
|
|
linker-script-settings.ver \
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/ppp/nm-ppp-plugin.ver \
|
2013-03-12 20:43:43 +00:00
|
|
|
Makefile.glib \
|
2013-04-10 14:36:32 +00:00
|
|
|
autogen.sh \
|
2020-05-13 20:26:05 +00:00
|
|
|
lsan.suppressions \
|
2016-10-13 11:29:35 +00:00
|
|
|
valgrind.suppressions \
|
2018-01-08 12:06:54 +00:00
|
|
|
meson.build \
|
|
|
|
meson_options.txt \
|
|
|
|
config.h.meson \
|
2018-09-10 14:26:57 +00:00
|
|
|
config-extra.h.meson \
|
2018-01-08 12:06:54 +00:00
|
|
|
docs/meson.build \
|
|
|
|
\
|
|
|
|
po/meson.build \
|
2016-10-13 11:29:35 +00:00
|
|
|
\
|
2021-02-12 14:01:09 +00:00
|
|
|
src/meson.build \
|
|
|
|
\
|
|
|
|
src/libnm-core-public/nm-version-macros.h.in \
|
2021-02-08 07:10:21 +00:00
|
|
|
\
|
2021-02-24 06:40:48 +00:00
|
|
|
src/contrib/nm-vpn-editor-plugin-call.h \
|
|
|
|
\
|
2023-02-28 15:22:13 +00:00
|
|
|
tools/check-compare-generated.sh \
|
2018-11-09 17:08:45 +00:00
|
|
|
tools/check-config-options.sh \
|
2018-06-26 10:02:33 +00:00
|
|
|
tools/check-docs.sh \
|
2016-10-17 12:36:16 +00:00
|
|
|
tools/check-exports.sh \
|
2020-11-17 08:58:27 +00:00
|
|
|
tools/check-gitlab-ci.sh \
|
2023-02-28 15:22:13 +00:00
|
|
|
tools/check-nm-autoptr.sh \
|
2021-02-07 09:23:00 +00:00
|
|
|
tools/check-tree.sh \
|
2023-02-28 06:51:07 +00:00
|
|
|
tools/check-vapi.sh \
|
2016-10-17 12:36:16 +00:00
|
|
|
tools/create-exports-NetworkManager.sh \
|
|
|
|
tools/debug-helper.py \
|
2023-02-28 15:22:13 +00:00
|
|
|
tools/enums-to-docbook.pl \
|
2018-09-13 15:24:58 +00:00
|
|
|
tools/meson-post-install.sh \
|
2024-01-26 11:34:53 +00:00
|
|
|
tools/meson-dist-data.sh \
|
2016-10-17 12:36:16 +00:00
|
|
|
tools/run-nm-test.sh \
|
2023-03-03 10:49:47 +00:00
|
|
|
tools/test-cloud-meta-mock.py \
|
2016-10-17 12:36:16 +00:00
|
|
|
tools/test-networkmanager-service.py \
|
|
|
|
tools/test-sudo-wrapper.sh \
|
|
|
|
\
|
all: move "src/" directory to "src/core/"
Currently "src/" mostly contains the source code of the daemon.
I say mostly, because that is not true, there are also the device,
settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp
helper, and probably more.
Also we have source code under libnm-core/, libnm/, clients/, and
shared/ directories. That is all confusing.
We should have one "src" directory, that contains subdirectories. Those
subdirectories should contain individual parts (libraries or
applications), that possibly have dependencies on other subdirectories.
There should be a flat hierarchy of directories under src/, which
contains individual modules.
As the name "src/" is already taken, that prevents any sensible
restructuring of the code.
As a first step, move "src/" to "src/core/". This gives space to
reorganize the code better by moving individual components into "src/".
For inspiration, look at systemd's "src/" directory.
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
2021-02-03 14:25:56 +00:00
|
|
|
src/core/settings/plugins/meson.build \
|
2016-10-15 20:28:34 +00:00
|
|
|
\
|
2016-10-13 11:29:35 +00:00
|
|
|
$(NULL)
|
2007-08-13 07:54:28 +00:00
|
|
|
|
2016-10-14 10:13:50 +00:00
|
|
|
CLEANFILES += \
|
2016-11-22 18:30:06 +00:00
|
|
|
$(GLIB_GENERATED) \
|
|
|
|
$(INTROSPECTION_GIRS) \
|
|
|
|
$(typelib_DATA) \
|
2016-10-14 10:13:50 +00:00
|
|
|
\
|
2016-10-13 11:29:35 +00:00
|
|
|
cscope.in.out \
|
|
|
|
cscope.out \
|
|
|
|
cscope.po.out \
|
|
|
|
\
|
|
|
|
$(NULL)
|
2011-11-14 12:35:30 +00:00
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
include Makefile.examples
|
2020-06-19 10:36:49 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-07 09:23:00 +00:00
|
|
|
check-tree:
|
|
|
|
"$(top_srcdir)/tools/check-tree.sh"
|
|
|
|
|
|
|
|
check_local += check-tree
|
|
|
|
|
2020-09-07 12:46:55 +00:00
|
|
|
check-po-msgfmt:
|
|
|
|
@echo "check-po-msgfmt: check $(top_srcdir)/po/*.po files with msgfmt -vc"
|
|
|
|
@for f in "$(top_srcdir)/po"/*.po ; do \
|
2020-09-07 14:45:44 +00:00
|
|
|
if ! msgfmt -vc "$$f" -o /dev/null &>/dev/null ; then \
|
|
|
|
echo "invalid po file: msgfmt -vc $$f -o /dev/null" ; \
|
|
|
|
msgfmt -vc "$$f" -o /dev/null ; \
|
2020-09-07 12:46:55 +00:00
|
|
|
exit 1 ; \
|
|
|
|
fi ; \
|
|
|
|
done
|
|
|
|
|
|
|
|
check_local += check-po-msgfmt
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2016-10-14 13:54:40 +00:00
|
|
|
check-local: $(check_local)
|
|
|
|
|
2016-10-17 13:50:56 +00:00
|
|
|
dist-hook: $(dist_hook)
|
|
|
|
|
2016-10-14 13:54:40 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
install-exec-hook: $(install_exec_hook)
|
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
install-data-hook: $(install_data_hook)
|
2016-10-15 16:25:13 +00:00
|
|
|
|
2016-10-18 12:01:56 +00:00
|
|
|
uninstall-hook: $(uninstall_hook)
|
|
|
|
|
2016-10-15 16:25:13 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2011-11-14 12:35:30 +00:00
|
|
|
cscope:
|
2023-01-17 15:21:28 +00:00
|
|
|
cscope -b -q -R -ssrc
|
2013-04-26 20:42:54 +00:00
|
|
|
|
2016-10-13 11:39:30 +00:00
|
|
|
###############################################################################
|
|
|
|
|
2021-02-04 08:59:10 +00:00
|
|
|
check-progs: all $(check_PROGRAMS) $(check_LTLIBRARIES)
|
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
|
2017-05-23 18:45:39 +00:00
|
|
|
.PRECIOUS: test-suite.log
|
2017-03-16 15:53:01 +00:00
|
|
|
.DELETE_ON_ERROR:
|
2021-02-04 08:59:10 +00:00
|
|
|
.PHONY: check-progs cscope dist-configure-check $(check_local) $(dist_hook)
|