2012-02-08 17:56:52 +00:00
i n c l u d e $( GLIB_MAKEFILE )
2016-10-14 13:54:40 +00:00
- i n c l u d e $( INTROSPECTION_MAKEFILE )
2016-10-18 12:01:56 +00:00
i n c l u d e M a k e f i l e . v a p i g e n
2012-02-08 17:56:52 +00:00
2016-10-13 11:39:30 +00:00
@ G N O M E _ C O D E _ C O V E R A G E _ R U L E S @
2016-10-14 13:24:28 +00:00
@ N M _ L O G _ C O M P I L E R @
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 =
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 =
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
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
i f H A V E _ D O C S
2016-11-16 11:00:11 +00:00
SUBDIRS += \
2016-10-18 13:53:05 +00:00
docs/libnm \
docs/api
i f W I T H _ L E G A C Y _ L I B R A R I E S
SUBDIRS += \
docs/libnm-util \
docs/libnm-glib
e n d i f
2016-11-16 11:00:11 +00:00
e n d i f
2016-10-13 11:39:30 +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 = \
2018-02-07 10:10:31 +00:00
$( call set_sanitizer_env,$( 1) ,$( builddir) /src/NetworkManager) ; \
2016-11-22 17:25:03 +00:00
LD_BIND_NOW = 1 LD_PRELOAD = $$ { LD_PRELOAD} :$( 1) $( builddir) /src/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 \
2017-02-16 14:57:03 +00:00
--disable-dependency-tracking
2016-10-13 11:39:30 +00:00
2016-11-15 09:50:19 +00:00
dist-configure-check :
2016-11-28 11:42:04 +00:00
@echo "*** 'make dist' requires '--enable-gtk-doc --enable-introspection --with-libnm-glib'. ***"
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
i f ! B U I L D _ D O C S
2016-11-15 09:50:19 +00:00
dist_configure_check += dist-configure-check
e n d i f
i f ! W I T H _ L E G A C Y _ L I B R A R I E S
dist_configure_check += dist-configure-check
2016-10-13 11:39:30 +00:00
e n d i f
2016-11-15 09:50:19 +00:00
dist : $( dist_configure_check ) $( dist_dependencies )
2016-10-13 11:39:30 +00:00
2016-10-14 13:54:40 +00:00
DISTCLEANFILES += intltool-extract intltool-merge intltool-update
2016-10-13 11:39:30 +00:00
###############################################################################
2018-01-15 14:35:36 +00:00
i f W I T H _ L E G A C Y _ L I B R A R I E S
2016-10-14 13:54:40 +00:00
pkgconfig_DATA += NetworkManager.pc
2018-01-15 14:35:36 +00:00
e n d i f
2016-10-13 11:39:30 +00:00
###############################################################################
2013-02-05 17:35:34 +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
polkit_policy_DATA = $( dist_polkit_policy_in_in_files:.policy.in.in= .policy)
@ I N T L T O O L _ P O L I C Y _ R U L E @
DISTCLEANFILES += $( polkit_policy_DATA)
###############################################################################
2016-10-14 10:13:50 +00:00
noinst_LTLIBRARIES += \
introspection/libnmdbus.la
2018-02-16 12:01:12 +00:00
introspection_libnmdbus_la_CPPFLAGS = $( GLIB_CFLAGS)
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.Connection.Active.c \
introspection/org.freedesktop.NetworkManager.Connection.Active.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 \
introspection/org.freedesktop.NetworkManager.Device.Adsl.c \
introspection/org.freedesktop.NetworkManager.Device.Adsl.h \
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 \
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.c \
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.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.Wired.c \
introspection/org.freedesktop.NetworkManager.Device.Wired.h \
introspection/org.freedesktop.NetworkManager.Device.Generic.c \
introspection/org.freedesktop.NetworkManager.Device.Generic.h \
introspection/org.freedesktop.NetworkManager.Device.Infiniband.c \
introspection/org.freedesktop.NetworkManager.Device.Infiniband.h \
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.c \
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.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 \
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-10-02 06:39:09 +00:00
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.c \
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.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 \
introspection/org.freedesktop.NetworkManager.Device.Vxlan.c \
introspection/org.freedesktop.NetworkManager.Device.Vxlan.h \
introspection/org.freedesktop.NetworkManager.Device.Wireless.c \
introspection/org.freedesktop.NetworkManager.Device.Wireless.h \
introspection/org.freedesktop.NetworkManager.Device.WiMax.c \
introspection/org.freedesktop.NetworkManager.Device.WiMax.h \
introspection/org.freedesktop.NetworkManager.Device.c \
introspection/org.freedesktop.NetworkManager.Device.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-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 \
introspection/org.freedesktop.NetworkManager.c \
introspection/org.freedesktop.NetworkManager.h \
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 \
introspection/org.freedesktop.NetworkManager.VPN.Plugin.h
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 \
docs/api/dbus-org.freedesktop.NetworkManager.Connection.Active.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Checkpoint.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Team.xml \
docs/api/dbus-org.freedesktop.NetworkManager.DHCP6Config.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Wireless.xml \
docs/api/dbus-org.freedesktop.NetworkManager.xml \
docs/api/dbus-org.freedesktop.NetworkManager.VPN.Connection.xml \
docs/api/dbus-org.freedesktop.NetworkManager.SecretAgent.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.xml \
docs/api/dbus-org.freedesktop.NetworkManager.VPN.Plugin.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bluetooth.xml \
2017-01-31 13:14:33 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.Device.Dummy.xml \
2016-11-23 12:14:08 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.Device.Vxlan.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Settings.Connection.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bond.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 \
docs/api/dbus-org.freedesktop.NetworkManager.PPP.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Vlan.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Adsl.xml \
docs/api/dbus-org.freedesktop.NetworkManager.AgentManager.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.WiMax.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.IPTunnel.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Tun.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Bridge.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.OlpcMesh.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-10-02 06:39:09 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.Device.OvsBridge.xml \
2017-06-06 13:55:08 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.Device.Ppp.xml \
2016-11-23 12:14:08 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.DHCP4Config.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Generic.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Infiniband.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Modem.xml \
docs/api/dbus-org.freedesktop.NetworkManager.IP6Config.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Veth.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Settings.xml \
docs/api/dbus-org.freedesktop.NetworkManager.Device.Wired.xml \
docs/api/dbus-org.freedesktop.NetworkManager.IP4Config.xml \
2016-12-15 19:13:40 +00:00
docs/api/dbus-org.freedesktop.NetworkManager.Device.Statistics.xml \
docs/api/dbus-org.freedesktop.NetworkManager.DnsManager.xml
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.Connection.Active.xml \
introspection/org.freedesktop.NetworkManager.AgentManager.xml \
introspection/org.freedesktop.NetworkManager.Checkpoint.xml \
introspection/org.freedesktop.NetworkManager.Device.Adsl.xml \
introspection/org.freedesktop.NetworkManager.Device.Bond.xml \
introspection/org.freedesktop.NetworkManager.Device.Bridge.xml \
introspection/org.freedesktop.NetworkManager.Device.Bluetooth.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.Wired.xml \
introspection/org.freedesktop.NetworkManager.Device.Generic.xml \
introspection/org.freedesktop.NetworkManager.Device.Infiniband.xml \
introspection/org.freedesktop.NetworkManager.Device.IPTunnel.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 \
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-10-02 06:39:09 +00:00
introspection/org.freedesktop.NetworkManager.Device.OvsBridge.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 \
introspection/org.freedesktop.NetworkManager.Device.Vxlan.xml \
introspection/org.freedesktop.NetworkManager.Device.Wireless.xml \
introspection/org.freedesktop.NetworkManager.Device.WiMax.xml \
introspection/org.freedesktop.NetworkManager.Device.xml \
introspection/org.freedesktop.NetworkManager.DHCP4Config.xml \
introspection/org.freedesktop.NetworkManager.DHCP6Config.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.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 \
introspection/org.freedesktop.NetworkManager.WiMax.Nsp.xml
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
2016-11-22 17:09:19 +00:00
$(dispatcher_libnm_dispatcher_core_la_OBJECTS) : $( introspection_sources )
$(dispatcher_nm_dispatcher_OBJECTS) : $( introspection_sources )
$(libnm_libnm_la_OBJECTS) : $( introspection_sources )
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
2016-10-14 10:13:50 +00:00
###############################################################################
2016-11-15 13:35:48 +00:00
libnm_core_lib_h_pub_real = \
2016-10-14 10:54:41 +00:00
shared/nm-version-macros.h \
libnm-core/nm-connection.h \
libnm-core/nm-core-types.h \
libnm-core/nm-dbus-interface.h \
libnm-core/nm-errors.h \
libnm-core/nm-setting-8021x.h \
libnm-core/nm-setting-adsl.h \
libnm-core/nm-setting-bluetooth.h \
libnm-core/nm-setting-bond.h \
libnm-core/nm-setting-bridge-port.h \
libnm-core/nm-setting-bridge.h \
libnm-core/nm-setting-cdma.h \
libnm-core/nm-setting-connection.h \
libnm-core/nm-setting-dcb.h \
2017-01-31 13:13:35 +00:00
libnm-core/nm-setting-dummy.h \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-generic.h \
libnm-core/nm-setting-gsm.h \
libnm-core/nm-setting-infiniband.h \
libnm-core/nm-setting-ip-config.h \
libnm-core/nm-setting-ip-tunnel.h \
libnm-core/nm-setting-ip4-config.h \
libnm-core/nm-setting-ip6-config.h \
2016-06-30 16:20:43 +00:00
libnm-core/nm-setting-macsec.h \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-macvlan.h \
libnm-core/nm-setting-olpc-mesh.h \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-bridge.h \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-interface.h \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-patch.h \
2017-10-02 07:03:19 +00:00
libnm-core/nm-setting-ovs-port.h \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-ppp.h \
libnm-core/nm-setting-pppoe.h \
libnm-core/nm-setting-proxy.h \
libnm-core/nm-setting-serial.h \
2017-11-16 16:35:20 +00:00
libnm-core/nm-setting-tc-config.h \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-team-port.h \
libnm-core/nm-setting-team.h \
libnm-core/nm-setting-tun.h \
2017-03-24 11:41:04 +00:00
libnm-core/nm-setting-user.h \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-vlan.h \
libnm-core/nm-setting-vpn.h \
libnm-core/nm-setting-vxlan.h \
libnm-core/nm-setting-wimax.h \
libnm-core/nm-setting-wired.h \
libnm-core/nm-setting-wireless-security.h \
libnm-core/nm-setting-wireless.h \
libnm-core/nm-setting.h \
libnm-core/nm-simple-connection.h \
libnm-core/nm-utils.h \
libnm-core/nm-version.h \
libnm-core/nm-vpn-dbus-interface.h \
libnm-core/nm-vpn-editor-plugin.h \
libnm-core/nm-vpn-plugin-info.h
2016-11-20 13:40:38 +00:00
libnm_core_lib_h_pub_mkenums = \
2016-11-15 13:35:48 +00:00
libnm-core/nm-core-enum-types.h
libnm_core_lib_h_priv = \
2017-07-08 11:30:00 +00:00
shared/nm-utils/c-list-util.h \
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
shared/nm-utils/nm-dedup-multi.h \
2017-03-29 16:40:32 +00:00
shared/nm-utils/nm-enum-utils.h \
2017-10-14 11:28:20 +00:00
shared/nm-utils/nm-hash-utils.h \
2016-10-14 10:54:41 +00:00
shared/nm-utils/nm-shared-utils.h \
2017-10-14 11:28:20 +00:00
shared/nm-utils/nm-random-utils.h \
2017-03-12 14:54:02 +00:00
shared/nm-utils/nm-udev-utils.h \
2017-10-13 15:16:23 +00:00
shared/nm-utils/siphash24.h \
2017-03-28 09:38:00 +00:00
shared/nm-meta-setting.h \
2016-10-14 10:54:41 +00:00
libnm-core/crypto.h \
libnm-core/nm-connection-private.h \
libnm-core/nm-core-internal.h \
libnm-core/nm-core-types-internal.h \
libnm-core/nm-keyfile-internal.h \
libnm-core/nm-keyfile-utils.h \
libnm-core/nm-property-compare.h \
libnm-core/nm-setting-private.h \
libnm-core/nm-utils-private.h
2017-12-15 13:35:31 +00:00
libnm_core_lib_c_settings_real = \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-8021x.c \
libnm-core/nm-setting-adsl.c \
libnm-core/nm-setting-bluetooth.c \
libnm-core/nm-setting-bond.c \
libnm-core/nm-setting-bridge-port.c \
libnm-core/nm-setting-bridge.c \
libnm-core/nm-setting-cdma.c \
libnm-core/nm-setting-connection.c \
libnm-core/nm-setting-dcb.c \
2017-01-31 13:13:35 +00:00
libnm-core/nm-setting-dummy.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-generic.c \
libnm-core/nm-setting-gsm.c \
libnm-core/nm-setting-infiniband.c \
libnm-core/nm-setting-ip-config.c \
libnm-core/nm-setting-ip-tunnel.c \
libnm-core/nm-setting-ip4-config.c \
libnm-core/nm-setting-ip6-config.c \
2016-06-30 16:20:43 +00:00
libnm-core/nm-setting-macsec.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-macvlan.c \
libnm-core/nm-setting-olpc-mesh.c \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-bridge.c \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-interface.c \
2017-08-01 16:36:34 +00:00
libnm-core/nm-setting-ovs-patch.c \
2017-10-02 07:03:19 +00:00
libnm-core/nm-setting-ovs-port.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-ppp.c \
libnm-core/nm-setting-pppoe.c \
libnm-core/nm-setting-proxy.c \
libnm-core/nm-setting-serial.c \
2017-11-16 16:35:20 +00:00
libnm-core/nm-setting-tc-config.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-team-port.c \
libnm-core/nm-setting-team.c \
libnm-core/nm-setting-tun.c \
2017-03-24 11:41:04 +00:00
libnm-core/nm-setting-user.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting-vlan.c \
libnm-core/nm-setting-vpn.c \
libnm-core/nm-setting-vxlan.c \
libnm-core/nm-setting-wimax.c \
libnm-core/nm-setting-wired.c \
libnm-core/nm-setting-wireless-security.c \
2017-12-15 13:35:31 +00:00
libnm-core/nm-setting-wireless.c
libnm_core_lib_c_real = \
$( libnm_core_lib_c_settings_real) \
shared/nm-utils/c-list-util.c \
shared/nm-utils/nm-dedup-multi.c \
shared/nm-utils/nm-enum-utils.c \
shared/nm-utils/nm-hash-utils.c \
shared/nm-utils/nm-shared-utils.c \
shared/nm-utils/nm-random-utils.c \
shared/nm-utils/nm-udev-utils.c \
shared/nm-meta-setting.c \
libnm-core/crypto.c \
libnm-core/nm-connection.c \
libnm-core/nm-dbus-utils.c \
libnm-core/nm-errors.c \
2018-04-13 20:32:59 +00:00
libnm-core/nm-keyfile.c \
2017-12-15 13:35:31 +00:00
libnm-core/nm-keyfile-utils.c \
libnm-core/nm-property-compare.c \
2016-10-14 10:54:41 +00:00
libnm-core/nm-setting.c \
libnm-core/nm-simple-connection.c \
libnm-core/nm-utils.c \
libnm-core/nm-vpn-editor-plugin.c \
libnm-core/nm-vpn-plugin-info.c
2017-12-26 08:28:54 +00:00
i f W I T H _ J S O N _ V A L I D A T I O N
libnm_core_lib_h_priv += \
2018-01-09 05:20:18 +00:00
libnm-core/nm-json.h
2017-12-26 08:28:54 +00:00
libnm_core_lib_c_real += \
2018-01-09 05:20:18 +00:00
libnm-core/nm-json.c
2017-12-26 08:28:54 +00:00
e n d i f
2016-11-20 13:40:38 +00:00
libnm_core_lib_c_mkenums = \
2016-11-15 13:35:48 +00:00
libnm-core/nm-core-enum-types.c
libnminclude_HEADERS += \
$( libnm_core_lib_h_pub_real)
2016-10-14 10:54:41 +00:00
2016-11-15 13:35:48 +00:00
nodist_libnminclude_HEADERS += \
2016-11-20 13:40:38 +00:00
$( libnm_core_lib_h_pub_mkenums)
2016-10-14 10:54:41 +00:00
###############################################################################
2016-10-22 10:25:40 +00:00
dflt_cppflags_libnm_core = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
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) \
$( SANITIZER_LIB_CFLAGS)
2017-02-22 16:14:28 +00:00
2016-10-22 10:25:40 +00:00
i f W I T H _ G N U T L S
dflt_cppflags_libnm_core += $( GNUTLS_CFLAGS)
e n d i f
i f W I T H _ N S S
dflt_cppflags_libnm_core += $( NSS_CFLAGS)
e n d i f
2016-10-14 10:54:41 +00:00
noinst_LTLIBRARIES += libnm-core/libnm-core.la
GLIB_GENERATED += \
2016-11-20 13:40:38 +00:00
$( libnm_core_lib_h_pub_mkenums) \
$( libnm_core_lib_c_mkenums)
2016-11-15 13:35:48 +00:00
nm_core_enum_types_sources = $( libnm_core_lib_h_pub_real)
2016-10-14 10:54:41 +00:00
2017-03-16 16:09:42 +00:00
nm_core_enum_types_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n'
2017-03-23 16:18:33 +00:00
libnm-core/nm-core-enum-types.h.stamp : libnm -core /.dirstamp
libnm-core/nm-core-enum-types.c.stamp : libnm -core /.dirstamp
2017-02-22 11:51:08 +00:00
2016-11-22 17:09:19 +00:00
$(dispatcher_libnm_dispatcher_core_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(dispatcher_nm_dispatcher_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_core_libnm_core_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_libnm_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_tests_libnm_vpn_plugin_utils_test_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_NetworkManager_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_devices_adsl_libnm_device_plugin_adsl_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_devices_bluetooth_libnm_device_plugin_bluetooth_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_devices_team_libnm_device_plugin_team_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_devices_wifi_libnm_device_plugin_wifi_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_devices_wwan_libnm_device_plugin_wwan_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-11-20 14:03:45 +00:00
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_CPPFLAGS = \
2016-10-22 10:25:40 +00:00
$( dflt_cppflags_libnm_core) \
2016-10-14 10:54:41 +00:00
-DG_LOG_DOMAIN= \" "libnm" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
2016-10-14 10:54:41 +00:00
-DLOCALEDIR= \" $( datadir) /locale\" \
-DNMCONFDIR= \" $( nmconfdir) \" \
-DNMLIBDIR= \" $( nmlibdir) \" \
2018-03-18 19:38:49 +00:00
-DNMVPNDIR= \" $( pkglibdir) \" \
-DNMPLUGINDIR= \" $( plugindir) \" \
2016-10-14 10:54:41 +00:00
-DLIBEXECDIR= \" $( libexecdir) \" \
2018-01-02 12:37:06 +00:00
$( NULL)
2016-10-14 10:54:41 +00:00
2017-12-08 10:08:29 +00:00
i f W I T H _ J S O N _ V A L I D A T I O N
libnm_core_libnm_core_la_CPPFLAGS += $( JANSSON_CFLAGS)
e n d i f
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_SOURCES = \
2016-11-15 13:35:48 +00:00
$( libnm_core_lib_h_pub_real) \
$( libnm_core_lib_h_priv) \
$( libnm_core_lib_c_real)
nodist_libnm_core_libnm_core_la_SOURCES = \
2016-11-20 13:40:38 +00:00
$( libnm_core_lib_h_pub_mkenums) \
$( libnm_core_lib_c_mkenums)
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_LIBADD = \
$( GLIB_LIBS) \
2017-03-12 14:54:02 +00:00
$( UUID_LIBS) \
$( LIBUDEV_LIBS)
2017-02-22 16:14:28 +00:00
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_LDFLAGS = \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_LIB_LDFLAGS)
2016-10-14 10:54:41 +00:00
i f W I T H _ G N U T L S
2016-11-18 16:21:22 +00:00
libnm_core_lib_c_real += libnm-core/crypto_gnutls.c
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_LIBADD += $( GNUTLS_LIBS)
e n d i f
i f W I T H _ N S S
2016-11-18 16:21:22 +00:00
libnm_core_lib_c_real += libnm-core/crypto_nss.c
2016-10-14 10:54:41 +00:00
libnm_core_libnm_core_la_LIBADD += $( NSS_LIBS)
e n d i f
2016-11-15 13:35:48 +00:00
EXTRA_DIST += \
libnm-core/crypto_gnutls.c \
2018-02-02 09:55:34 +00:00
libnm-core/crypto_nss.c \
2018-01-08 12:06:54 +00:00
libnm-core/nm-core-enum-types.c.template \
libnm-core/nm-core-enum-types.h.template \
libnm-core/meson.build
2016-11-15 13:35:48 +00:00
2017-02-22 10:43:21 +00:00
libnm-core/nm-vpn-dbus-types.xml : libnm -core /nm -vpn -dbus -interface .h tools /enums -to -docbook .pl
2017-02-22 10:42:35 +00:00
@$( MKDIR_P) libnm-core/
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
2017-02-22 10:43:21 +00:00
libnm-core/nm-dbus-types.xml : libnm -core /nm -dbus -interface .h tools /enums -to -docbook .pl
2017-02-22 10:42:35 +00:00
@$( MKDIR_P) libnm-core/
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 += \
libnm-core/nm-vpn-dbus-types.xml \
libnm-core/nm-dbus-types.xml
2016-11-15 09:50:19 +00:00
dist_dependencies += \
libnm-core/nm-vpn-dbus-types.xml \
libnm-core/nm-dbus-types.xml
2016-10-14 10:54:41 +00:00
###############################################################################
2016-11-22 18:30:06 +00:00
check_programs += \
2016-10-14 13:24:28 +00:00
libnm-core/tests/test-compare \
libnm-core/tests/test-crypto \
libnm-core/tests/test-general \
libnm-core/tests/test-keyfile \
libnm-core/tests/test-secrets \
2017-12-03 12:37:39 +00:00
libnm-core/tests/test-setting \
2016-10-14 13:24:28 +00:00
libnm-core/tests/test-settings-defaults
GLIB_GENERATED += \
libnm-core/tests/nm-core-tests-enum-types.h \
libnm-core/tests/nm-core-tests-enum-types.c
nm_core_tests_enum_types_sources = libnm-core/tests/test-general-enums.h
2017-06-14 12:03:30 +00:00
libnm-core/tests/nm-core-tests-enum-types.h.stamp : libnm -core /tests /.dirstamp
libnm-core/tests/nm-core-tests-enum-types.c.stamp : libnm -core /tests /.dirstamp
2016-11-22 18:30:06 +00:00
$(libnm_core_tests_test_general_OBJECTS) : libnm -core /tests /nm -core -tests -enum -types .h
2016-10-14 13:24:28 +00:00
libnm_core_tests_cppflags = \
2016-10-22 10:25:40 +00:00
$( dflt_cppflags_libnm_core) \
2016-10-14 13:24:28 +00:00
-I$( srcdir) /libnm-core/tests \
2016-10-22 14:12:30 +00:00
-I$( builddir) /libnm-core/tests \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_CORE \
2016-10-14 13:24:28 +00:00
-DTEST_CERT_DIR= \" $( abs_srcdir) /libnm-core/tests/certs\"
libnm_core_tests_test_compare_CPPFLAGS = $( libnm_core_tests_cppflags)
libnm_core_tests_test_crypto_CPPFLAGS = $( libnm_core_tests_cppflags)
libnm_core_tests_test_general_CPPFLAGS = $( libnm_core_tests_cppflags)
libnm_core_tests_test_keyfile_CPPFLAGS = $( libnm_core_tests_cppflags)
libnm_core_tests_test_secrets_CPPFLAGS = $( libnm_core_tests_cppflags)
2017-12-03 12:37:39 +00:00
libnm_core_tests_test_setting_CPPFLAGS = $( libnm_core_tests_cppflags)
2016-10-14 13:24:28 +00:00
libnm_core_tests_test_settings_defaults_CPPFLAGS = $( libnm_core_tests_cppflags)
libnm_core_tests_test_general_SOURCES = \
libnm-core/tests/test-general-enums.h \
libnm-core/tests/test-general.c
2016-11-15 13:56:48 +00:00
nodist_libnm_core_tests_test_general_SOURCES = \
libnm-core/tests/nm-core-tests-enum-types.c \
libnm-core/tests/nm-core-tests-enum-types.h
2016-10-14 13:24:28 +00:00
libnm_core_tests_ldadd = \
libnm-core/libnm-core.la \
$( GLIB_LIBS)
2018-02-07 10:10:31 +00:00
libnm_core_tests_ldflags = \
$( SANITIZER_LIB_LDFLAGS)
2016-10-14 13:24:28 +00:00
libnm_core_tests_test_compare_LDADD = $( libnm_core_tests_ldadd)
libnm_core_tests_test_crypto_LDADD = $( libnm_core_tests_ldadd)
libnm_core_tests_test_general_LDADD = $( libnm_core_tests_ldadd)
libnm_core_tests_test_keyfile_LDADD = $( libnm_core_tests_ldadd)
libnm_core_tests_test_secrets_LDADD = $( libnm_core_tests_ldadd)
2017-12-03 12:37:39 +00:00
libnm_core_tests_test_setting_LDADD = $( libnm_core_tests_ldadd)
2016-10-14 13:24:28 +00:00
libnm_core_tests_test_settings_defaults_LDADD = $( libnm_core_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_core_tests_test_compare_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_crypto_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_general_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_keyfile_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_secrets_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_setting_LDFLAGS = $( libnm_core_tests_ldflags)
libnm_core_tests_test_settings_defaults_LDFLAGS = $( libnm_core_tests_ldflags)
2017-03-28 20:37:19 +00:00
$(libnm_core_tests_test_compare_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_core_tests_test_crypto_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_core_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_core_tests_test_keyfile_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_core_tests_test_secrets_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-12-03 12:37:39 +00:00
$(libnm_core_tests_test_setting_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-03-28 20:37:19 +00:00
$(libnm_core_tests_test_settings_defaults_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
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 += \
libnm-core/tests/certs/ca-no-ending-newline.pem \
libnm-core/tests/certs/pkcs8-decrypted.der \
libnm-core/tests/certs/pkcs8-enc-key.pem \
libnm-core/tests/certs/pkcs8-noenc-key.pem \
libnm-core/tests/certs/test2_ca_cert.pem \
libnm-core/tests/certs/test2-cert.p12 \
libnm-core/tests/certs/test2_key_and_cert.pem \
libnm-core/tests/certs/test-aes-key.pem \
libnm-core/tests/certs/test_ca_cert.der \
libnm-core/tests/certs/test_ca_cert.pem \
libnm-core/tests/certs/test-ca-cert.pem \
libnm-core/tests/certs/test-cert.p12 \
libnm-core/tests/certs/test_key_and_cert.pem \
libnm-core/tests/certs/test-key-and-cert.pem \
libnm-core/tests/certs/test-key-only-decrypted.der \
libnm-core/tests/certs/test-key-only-decrypted.pem \
2018-01-08 12:06:54 +00:00
libnm-core/tests/certs/test-key-only.pem \
libnm-core/tests/nm-core-tests-enum-types.c.template \
libnm-core/tests/nm-core-tests-enum-types.h.template \
libnm-core/tests/meson.build
2016-10-14 13:24:28 +00:00
###############################################################################
2016-11-15 13:35:48 +00:00
libnm_lib_h_pub_real = \
2016-10-14 13:54:40 +00:00
shared/nm-version-macros.h \
libnm/NetworkManager.h \
libnm/nm-access-point.h \
libnm/nm-active-connection.h \
2018-03-19 09:34:58 +00:00
libnm/nm-autoptr.h \
2017-10-21 14:05:19 +00:00
libnm/nm-checkpoint.h \
2016-10-14 13:54:40 +00:00
libnm/nm-client.h \
libnm/nm-device-adsl.h \
libnm/nm-device-bond.h \
libnm/nm-device-bridge.h \
libnm/nm-device-bt.h \
2017-01-31 13:14:33 +00:00
libnm/nm-device-dummy.h \
2016-10-14 13:54:40 +00:00
libnm/nm-device-ethernet.h \
libnm/nm-device-generic.h \
libnm/nm-device-infiniband.h \
libnm/nm-device-ip-tunnel.h \
2016-06-30 16:20:22 +00:00
libnm/nm-device-macsec.h \
2016-10-14 13:54:40 +00:00
libnm/nm-device-macvlan.h \
libnm/nm-device-modem.h \
libnm/nm-device-olpc-mesh.h \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-interface.h \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-port.h \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-bridge.h \
2017-06-06 13:55:08 +00:00
libnm/nm-device-ppp.h \
2016-10-14 13:54:40 +00:00
libnm/nm-device-team.h \
libnm/nm-device-tun.h \
libnm/nm-device-vlan.h \
libnm/nm-device-vxlan.h \
libnm/nm-device-wifi.h \
libnm/nm-device-wimax.h \
libnm/nm-device.h \
libnm/nm-dhcp-config.h \
libnm/nm-ip-config.h \
libnm/nm-object.h \
libnm/nm-remote-connection.h \
2017-12-15 13:35:32 +00:00
libnm/nm-secret-agent-old.h \
2016-10-14 13:54:40 +00:00
libnm/nm-types.h \
libnm/nm-vpn-connection.h \
libnm/nm-vpn-editor.h \
libnm/nm-vpn-plugin-old.h \
2017-12-15 13:35:32 +00:00
libnm/nm-vpn-service-plugin.h \
libnm/nm-wimax-nsp.h
2016-11-20 13:40:38 +00:00
libnm_lib_h_pub_mkenums = \
2016-11-15 13:35:48 +00:00
libnm/nm-enum-types.h
libnm_lib_h_priv = \
2017-05-19 08:19:25 +00:00
libnm/nm-libnm-utils.h \
2016-10-14 13:54:40 +00:00
libnm/nm-dbus-helpers.h \
libnm/nm-device-private.h \
libnm/nm-dhcp4-config.h \
libnm/nm-dhcp6-config.h \
2016-10-25 09:11:12 +00:00
libnm/nm-dns-manager.h \
2016-10-14 13:54:40 +00:00
libnm/nm-ip4-config.h \
libnm/nm-ip6-config.h \
libnm/nm-manager.h \
libnm/nm-object-private.h \
libnm/nm-remote-connection-private.h \
libnm/nm-remote-settings.h
2016-11-15 13:35:48 +00:00
libnm_lib_c_real = \
2016-10-14 13:54:40 +00:00
libnm/nm-access-point.c \
libnm/nm-active-connection.c \
2017-10-21 14:05:19 +00:00
libnm/nm-checkpoint.c \
2016-10-14 13:54:40 +00:00
libnm/nm-client.c \
libnm/nm-dbus-helpers.c \
libnm/nm-device-adsl.c \
libnm/nm-device-bond.c \
libnm/nm-device-bridge.c \
libnm/nm-device-bt.c \
2017-01-31 13:14:33 +00:00
libnm/nm-device-dummy.c \
2016-10-14 13:54:40 +00:00
libnm/nm-device-ethernet.c \
libnm/nm-device-generic.c \
libnm/nm-device-infiniband.c \
libnm/nm-device-ip-tunnel.c \
2016-06-30 16:20:22 +00:00
libnm/nm-device-macsec.c \
2016-10-14 13:54:40 +00:00
libnm/nm-device-macvlan.c \
libnm/nm-device-modem.c \
libnm/nm-device-olpc-mesh.c \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-interface.c \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-port.c \
2017-10-10 09:04:32 +00:00
libnm/nm-device-ovs-bridge.c \
2017-06-06 13:55:08 +00:00
libnm/nm-device-ppp.c \
2016-10-14 13:54:40 +00:00
libnm/nm-device-team.c \
libnm/nm-device-tun.c \
libnm/nm-device-vlan.c \
libnm/nm-device-vxlan.c \
libnm/nm-device-wifi.c \
libnm/nm-device-wimax.c \
libnm/nm-device.c \
libnm/nm-dhcp-config.c \
libnm/nm-dhcp4-config.c \
libnm/nm-dhcp6-config.c \
2016-10-25 09:11:12 +00:00
libnm/nm-dns-manager.c \
2016-10-14 13:54:40 +00:00
libnm/nm-ip-config.c \
libnm/nm-ip4-config.c \
libnm/nm-ip6-config.c \
libnm/nm-manager.c \
libnm/nm-object.c \
libnm/nm-remote-connection.c \
libnm/nm-remote-settings.c \
libnm/nm-secret-agent-old.c \
libnm/nm-vpn-connection.c \
libnm/nm-vpn-plugin-old.c \
libnm/nm-vpn-editor.c \
libnm/nm-vpn-service-plugin.c \
libnm/nm-wimax-nsp.c
2016-11-20 13:40:38 +00:00
libnm_lib_c_mkenums = \
2016-11-15 13:35:48 +00:00
libnm/nm-enum-types.c
2017-05-19 08:19:25 +00:00
libnm_lib_cppflags = \
$( dflt_cppflags_libnm_core) \
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
-DG_LOG_DOMAIN= \" "libnm" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM \
2017-05-19 08:19:25 +00:00
-DNMRUNDIR= \" $( nmrundir) \"
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 += \
2016-11-20 13:40:38 +00:00
$( libnm_lib_h_pub_mkenums)
2016-11-15 13:35:48 +00:00
###############################################################################
2017-05-19 12:13:37 +00:00
noinst_LTLIBRARIES += libnm/libnm-utils.la
2017-05-19 08:19:25 +00:00
libnm_libnm_utils_la_CPPFLAGS = \
2017-11-04 19:41:45 +00:00
$( INTROSPECTION_CFLAGS) \
2017-05-19 08:19:25 +00:00
$( libnm_lib_cppflags)
libnm_libnm_utils_la_SOURCES = \
libnm/nm-libnm-utils.c
libnm_libnm_utils_la_LIBADD = \
libnm-core/libnm-core.la \
introspection/libnmdbus.la \
$( GLIB_LIBS)
$(libnm_libnm_utils_la_OBJECTS) : $( libnm_lib_h_pub_mkenums )
###############################################################################
2016-11-15 13:35:48 +00:00
lib_LTLIBRARIES += libnm/libnm.la
GLIB_GENERATED += \
2016-11-20 13:40:38 +00:00
$( libnm_lib_h_pub_mkenums) \
$( libnm_lib_c_mkenums)
2016-11-15 13:35:48 +00:00
nm_enum_types_sources = \
2016-11-20 13:40:38 +00:00
$( libnm_lib_h_pub_mkenums) \
2017-12-15 13:35:32 +00:00
$( libnm_lib_h_pub_real)
2016-11-15 13:35:48 +00:00
nm_enum_types_MKENUMS_H_FLAGS = --identifier-prefix NM --fhead '\#include <nm-core-enum-types.h>\n'
nm_enum_types_MKENUMS_C_FLAGS = --identifier-prefix NM --fhead '\#include "nm-default.h"\n'
2016-11-22 17:09:19 +00:00
$(dispatcher_nm_dispatcher_OBJECTS) : $( libnm_lib_h_pub_mkenums )
$(dispatcher_libnm_dispatcher_core_la_OBJECTS) : $( libnm_lib_h_pub_mkenums )
$(libnm_libnm_la_OBJECTS) : $( libnm_lib_h_pub_mkenums )
$(libnm_tests_libnm_vpn_plugin_utils_test_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-11-20 14:03:45 +00:00
2016-11-15 13:35:48 +00:00
libnm_libnm_la_CPPFLAGS = \
2017-05-19 08:19:25 +00:00
$( libnm_lib_cppflags) \
2018-02-07 10:10:31 +00:00
$( LIBUDEV_CFLAGS) \
$( SANITIZER_LIB_CFLAGS)
2016-10-14 13:54:40 +00:00
libnm_libnm_la_SOURCES = \
2016-11-15 13:35:48 +00:00
$( libnm_lib_h_pub_real) \
$( libnm_lib_h_priv) \
$( libnm_lib_c_real)
nodist_libnm_libnm_la_SOURCES = \
2016-11-20 13:40:38 +00:00
$( libnm_lib_h_pub_mkenums) \
$( libnm_lib_c_mkenums)
2016-10-14 13:54:40 +00:00
EXTRA_libnm_libnm_la_DEPENDENCIES = \
libnm/libnm.ver
libnm_libnm_la_LIBADD = \
2017-05-19 08:19:25 +00:00
libnm/libnm-utils.la \
2016-10-14 13:54:40 +00:00
$( DL_LIBS) \
$( GLIB_LIBS) \
$( UUID_LIBS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_LIBS)
2016-10-14 13:54:40 +00:00
libnm_libnm_la_LDFLAGS = \
-Wl,--version-script= " $( srcdir) /libnm/libnm.ver " \
$( 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"
check-local-exports-libnm : libnm /libnm .la
$( srcdir) /tools/check-exports.sh " $( builddir) /libnm/.libs/libnm.so " " $( srcdir) /libnm/libnm.ver "
check_local += check-local-exports-libnm
pkgconfig_DATA += libnm/libnm.pc
DISTCLEANFILES += \
libnm/libnm.pc
EXTRA_DIST += \
libnm/libnm.pc.in \
libnm/libnm.ver
2018-05-06 06:51:26 +00:00
libnm_NM_1_0_typelib =
2016-10-14 13:54:40 +00:00
i f H A V E _ I N T R O S P E C T I O N
2018-05-06 06:51:26 +00:00
libnm_NM_1_0_typelib += libnm/NM-1.0.typelib
2016-10-14 13:54:40 +00:00
libnm/NM-1.0.gir : libnm /libnm .la
libnm_NM_1_0_gir_INCLUDES = Gio-2.0
2017-03-12 14:54:02 +00:00
libnm_NM_1_0_gir_PACKAGES = gio-2.0
2016-10-14 13:54:40 +00:00
libnm_NM_1_0_gir_EXPORT_PACKAGES = libnm
libnm_NM_1_0_gir_CFLAGS = $( libnm_libnm_la_CPPFLAGS)
libnm_NM_1_0_gir_LIBS = libnm/libnm.la
2016-10-18 13:53:05 +00:00
libnm_NM_1_0_gir_FILES = \
2016-11-20 13:40:38 +00:00
$( libnm_core_lib_h_pub_mkenums) \
2016-11-15 13:35:48 +00:00
$( libnm_core_lib_h_pub_real) \
2016-11-20 13:40:38 +00:00
$( libnm_core_lib_c_mkenums) \
2016-11-15 13:35:48 +00:00
$( libnm_core_lib_c_real) \
2016-11-20 13:40:38 +00:00
$( libnm_lib_h_pub_mkenums) \
2016-11-15 13:35:48 +00:00
$( libnm_lib_h_pub_real) \
2016-11-20 13:40:38 +00:00
$( libnm_lib_c_mkenums) \
2016-11-15 13:35:48 +00:00
$( libnm_lib_c_real)
2016-10-14 13:54:40 +00:00
libnm_NM_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix= NM --symbol-prefix= nm
2016-10-18 13:53:05 +00:00
libnm/libnm.typelib : libnm /libnm .gir
$( INTROSPECTION_COMPILER) --includedir= $( srcdir) /libnm-core --includedir= $( builddir) /libnm-core --includedir= $( srcdir) /libnm --includedir= $( builddir) /libnm $< -o $@
INTROSPECTION_GIRS += libnm/NM-1.0.gir
2017-11-04 19:41:45 +00:00
i f W I T H _ F A K E _ T Y P E L I B S
2017-11-08 14:36:11 +00:00
libnm/fake-typelib/NetworkManager.typelib : libnm /fake -typelib /NetworkManager .gir libnm /fake -typelib /.dirstamp
2017-11-04 19:41:45 +00:00
$( AM_V_GEN) $( INTROSPECTION_COMPILER) $< -o $@
2017-11-08 14:36:11 +00:00
libnm/fake-typelib/NMClient.typelib : libnm /fake -typelib /NMClient .gir libnm /fake -typelib /.dirstamp
2017-11-04 19:41:45 +00:00
$( AM_V_GEN) $( INTROSPECTION_COMPILER) $< -o $@
libnm/fake-typelib/typelibs.c : libnm /fake -typelib /typelibs .gresource .xml libnm /fake -typelib /NetworkManager .typelib libnm /fake -typelib /NMClient .typelib
2017-11-08 14:36:11 +00:00
$( AM_V_GEN) $( GLIB_COMPILE_RESOURCES) $< --target= $@ --sourcedir= $( builddir) /libnm/fake-typelib --generate-source --manual-register
2017-11-04 19:41:45 +00:00
2017-11-06 11:01:06 +00:00
nodist_libnm_libnm_utils_la_SOURCES = \
2017-11-04 19:41:45 +00:00
libnm/fake-typelib/typelibs.c
2017-11-08 14:36:11 +00:00
CLEANFILES += \
libnm/fake-typelib/typelibs.c \
libnm/fake-typelib/NMClient.typelib \
libnm/fake-typelib/NetworkManager.typelib
2017-11-04 19:41:45 +00:00
e n d i f
2016-10-14 13:54:40 +00:00
e n d i f
2017-11-06 11:01:06 +00:00
EXTRA_DIST += \
libnm/fake-typelib/NetworkManager.gir \
libnm/fake-typelib/NMClient.gir \
2018-01-08 12:06:54 +00:00
libnm/fake-typelib/typelibs.gresource.xml \
libnm/fake-typelib/meson.build
2017-11-06 11:01:06 +00:00
2016-11-28 11:42:04 +00:00
i f H A V E _ I N T R O S P E C T I O N
2016-10-14 13:54:40 +00:00
libnm_noinst_data = \
libnm/nm-property-docs.xml \
2016-11-23 16:09:48 +00:00
libnm/nm-settings-docs-overrides.xml \
libnm/nm-settings-docs.xml \
libnm/nm-settings-keyfile-docs.xml \
libnm/nm-settings-ifcfg-rh-docs.xml
2016-10-14 13:54:40 +00:00
noinst_DATA += $( libnm_noinst_data)
2017-12-15 13:35:31 +00:00
libnm_docs_sources = $( libnm_core_lib_c_settings_real)
2016-10-14 13:54:40 +00:00
2016-11-23 16:09:48 +00:00
libnm/nm-settings-docs-overrides.xml : libnm /generate -plugin -docs .pl $( libnm_docs_sources )
2017-12-18 11:34:14 +00:00
$( AM_V_GEN) $( srcdir) /libnm/generate-plugin-docs.pl dbus $@ $( filter-out $<,$^)
2016-10-14 13:54:40 +00:00
# When the python scripts loads libnm and the address sanitizers is
# enabled, we must LD_PRELOAD libasan otherwise it will complain that
# it was not loaded as initial library.
libnm/nm-property-docs.xml : libnm /generate -setting -docs .py $( libnm_docs_sources ) | libnm /NM -1.0.gir libnm /NM -1.0.typelib libnm /libnm .la
2016-11-16 19:03:16 +00:00
$( AM_V_GEN) \
2016-10-14 13:54:40 +00:00
export GI_TYPELIB_PATH = $( abs_builddir) /libnm$$ { GI_TYPELIB_PATH:+:$$ GI_TYPELIB_PATH} ; \
export LD_LIBRARY_PATH = $( abs_builddir) /libnm/.libs$$ { LD_LIBRARY_PATH:+:$$ LD_LIBRARY_PATH} ; \
$( call set_sanitizer_env,$( abs_builddir) /libnm/.libs/libnm.so) ; \
2016-12-14 17:18:37 +00:00
" $( PYTHON) " \
2016-10-14 13:54:40 +00:00
$( srcdir) /libnm/generate-setting-docs.py \
--gir $( builddir) /libnm/NM-1.0.gir \
--output $@
2016-11-23 17:25:12 +00:00
libnm/nm-settings-docs.xml : libnm /generate -setting -docs .py libnm /nm -settings -docs -overrides .xml $( libnm_docs_sources ) | libnm /NM -1.0.gir libnm /NM -1.0.typelib libnm /libnm .la
2016-11-16 19:03:16 +00:00
$( AM_V_GEN) \
2016-10-14 13:54:40 +00:00
export GI_TYPELIB_PATH = $( abs_builddir) /libnm$$ { GI_TYPELIB_PATH:+:$$ GI_TYPELIB_PATH} ; \
export LD_LIBRARY_PATH = $( abs_builddir) /libnm/.libs$$ { LD_LIBRARY_PATH:+:$$ LD_LIBRARY_PATH} ; \
$( call set_sanitizer_env,$( abs_builddir) /libnm/.libs/libnm.so) ; \
2016-12-15 23:07:42 +00:00
" $( PYTHON) " \
2016-10-14 13:54:40 +00:00
$( srcdir) /libnm/generate-setting-docs.py \
--gir $( builddir) /libnm/NM-1.0.gir \
2016-11-23 17:25:12 +00:00
--overrides $( word 2,$^) \
2016-10-14 13:54:40 +00:00
--output $@
2016-11-23 16:09:48 +00:00
libnm/nm-settings-keyfile-docs.xml : libnm /generate -plugin -docs .pl $( libnm_docs_sources )
2017-12-18 11:34:14 +00:00
$( AM_V_GEN) $( srcdir) /libnm/generate-plugin-docs.pl keyfile $@ $( filter-out $<,$^)
2016-11-23 16:09:48 +00:00
libnm/nm-settings-ifcfg-rh-docs.xml : libnm /generate -plugin -docs .pl $( libnm_docs_sources )
2017-12-18 11:34:14 +00:00
$( AM_V_GEN) $( srcdir) /libnm/generate-plugin-docs.pl ifcfg-rh $@ $( filter-out $<,$^)
2016-10-14 13:54:40 +00:00
EXTRA_DIST += $( libnm_noinst_data)
e n d i f
EXTRA_DIST += \
libnm/generate-setting-docs.py \
2018-01-08 12:06:54 +00:00
libnm/generate-plugin-docs.pl \
libnm/nm-enum-types.c.template \
libnm/nm-enum-types.h.template \
libnm/meson.build
2016-10-14 13:54:40 +00:00
###############################################################################
2016-10-15 14:24:59 +00:00
libnm_tests_programs = \
2018-05-06 06:51:26 +00:00
libnm/tests/test-general
check_programs += $( libnm_tests_programs)
libnm_tests_programs_req_introspection = \
2016-10-15 14:24:59 +00:00
libnm/tests/test-nm-client \
libnm/tests/test-remote-settings-client \
libnm/tests/test-secret-agent
2018-05-06 06:51:26 +00:00
i f H A V E _ I N T R O S P E C T I O N
check_programs += $( libnm_tests_programs_req_introspection)
e l s e
check_programs_norun += $( libnm_tests_programs_req_introspection)
e n d i f
2016-10-15 14:24:59 +00:00
libnm_tests_cppflags = \
2016-10-22 10:25:40 +00:00
$( dflt_cppflags_libnm_core) \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM \
2016-11-22 17:25:03 +00:00
-DTEST_NM_SERVICE= \" $( abs_srcdir) /tools/test-networkmanager-service.py\"
2016-10-15 14:24:59 +00:00
libnm_tests_ldadd = \
2016-11-22 17:21:48 +00:00
libnm/libnm.la \
2016-10-15 14:24:59 +00:00
$( GLIB_LIBS)
2018-02-07 10:10:31 +00:00
libnm_tests_ldflags = \
$( SANITIZER_LIB_LDFLAGS)
2017-05-19 08:19:25 +00:00
libnm_tests_test_general_CPPFLAGS = $( libnm_tests_cppflags)
2016-10-15 14:24:59 +00:00
libnm_tests_test_nm_client_CPPFLAGS = $( libnm_tests_cppflags)
libnm_tests_test_remote_settings_client_CPPFLAGS = $( libnm_tests_cppflags)
libnm_tests_test_secret_agent_CPPFLAGS = $( libnm_tests_cppflags)
2017-05-19 08:19:25 +00:00
libnm_tests_test_general_SOURCES = \
2017-11-20 18:41:45 +00:00
shared/nm-utils/nm-compat.c \
2017-05-19 08:19:25 +00:00
libnm/tests/test-general.c
2016-10-15 14:24:59 +00:00
libnm_tests_test_nm_client_SOURCES = \
shared/nm-test-utils-impl.c \
shared/nm-test-libnm-utils.h \
libnm/tests/test-nm-client.c
libnm_tests_test_remote_settings_client_SOURCES = \
shared/nm-test-utils-impl.c \
shared/nm-test-libnm-utils.h \
libnm/tests/test-remote-settings-client.c
libnm_tests_test_secret_agent_SOURCES = \
shared/nm-test-utils-impl.c \
shared/nm-test-libnm-utils.h \
libnm/tests/test-secret-agent.c
2017-05-19 08:19:25 +00:00
libnm_tests_test_general_LDADD = \
libnm/libnm-utils.la \
$( libnm_tests_ldadd)
2016-10-15 14:24:59 +00:00
libnm_tests_test_nm_client_LDADD = $( libnm_tests_ldadd)
libnm_tests_test_remote_settings_client_LDADD = $( libnm_tests_ldadd)
libnm_tests_test_secret_agent_LDADD = $( libnm_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_tests_test_general_LDFLAGS = $( libnm_tests_ldflags)
libnm_tests_test_nm_client_LDFLAGS = $( libnm_tests_ldflags)
libnm_tests_test_remote_settings_client_LDFLAGS = $( libnm_tests_ldflags)
libnm_tests_test_secret_agent_LDFLAGS = $( libnm_tests_ldflags)
2017-05-19 08:19:25 +00:00
$(libnm_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-03-28 20:37:19 +00:00
$(libnm_tests_test_nm_client_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_tests_test_remote_settings_client_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_tests_test_secret_agent_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-05-06 06:51:26 +00:00
# tools/test-networkmanager-service.py uses libnm's typelib. Ensure it
# is built first.
$(libnm_tests_test_nm_client_OBJECTS) : $( libnm_NM_ 1_ 0_typelib )
$(libnm_tests_test_remote_settings_client_OBJECTS) : $( libnm_NM_ 1_ 0_typelib )
$(libnm_tests_test_secret_agent_OBJECTS) : $( libnm_NM_ 1_ 0_typelib )
2016-10-15 14:24:59 +00:00
###############################################################################
# just test, that we can build "nm-vpn-plugin-utils.c"
2016-10-16 14:50:04 +00:00
check_ltlibraries += libnm/tests/libnm-vpn-plugin-utils-test.la
2016-10-15 14:24:59 +00:00
libnm_tests_libnm_vpn_plugin_utils_test_la_SOURCES = \
2016-11-21 11:59:31 +00:00
shared/nm-utils/nm-vpn-plugin-utils.c \
shared/nm-utils/nm-vpn-plugin-utils.h
2016-10-15 14:24:59 +00:00
libnm_tests_libnm_vpn_plugin_utils_test_la_CFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2018-01-02 12:37:06 +00:00
$( GLIB_CFLAGS) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT
2016-10-15 14:24:59 +00:00
libnm_tests_libnm_vpn_plugin_utils_test_la_LIBADD = \
2016-11-21 11:59:31 +00:00
$( GLIB_LIBS)
2016-10-15 14:24:59 +00:00
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
libnm/tests/meson.build
2016-10-15 16:25:13 +00:00
###############################################################################
# src/
###############################################################################
src_cppflags = \
2016-10-22 10:25:40 +00:00
$( dflt_cppflags_libnm_core) \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
2016-10-15 16:25:13 +00:00
\
2016-10-18 13:53:05 +00:00
-DPREFIX= \" $( prefix) \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-15 16:25:13 +00:00
\
-DBINDIR= \" $( bindir) \" \
-DDATADIR= \" $( datadir) \" \
-DLIBEXECDIR= \" $( libexecdir) \" \
-DLOCALSTATEDIR= \" $( localstatedir) \" \
-DRUNSTATEDIR= \" $( runstatedir) \" \
-DSBINDIR= \" $( sbindir) \" \
-DSYSCONFDIR= \" $( sysconfdir) \" \
-DRUNDIR= \" $( rundir) \" \
\
-DNMCONFDIR= \" $( nmconfdir) \" \
-DNMLOCALEDIR= \" $( datadir) /locale\" \
2018-03-18 19:38:49 +00:00
-DNMPLUGINDIR= \" $( plugindir) \" \
2016-10-15 16:25:13 +00:00
-DNMRUNDIR= \" $( nmrundir) \" \
-DNMSTATEDIR= \" $( nmstatedir) \" \
-DNMLIBDIR= \" $( nmlibdir) \" \
\
2017-10-05 14:44:08 +00:00
-DDHCPCANON_PATH= \" $( DHCPCANON_PATH) \" \
2016-10-15 16:25:13 +00:00
-DDHCLIENT_PATH= \" $( DHCLIENT_PATH) \" \
-DDHCPCD_PATH= \" $( DHCPCD_PATH) \" \
\
2017-03-12 14:54:02 +00:00
$( LIBUDEV_CFLAGS) \
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) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2016-10-15 16:25:13 +00:00
\
$( NULL)
src_ldflags = $( CODE_COVERAGE_LDFLAGS)
sbin_PROGRAMS += \
src/NetworkManager
libexec_PROGRAMS += \
src/nm-iface-helper
noinst_LTLIBRARIES += \
src/libNetworkManagerBase.la \
src/libNetworkManager.la \
src/libsystemd-nm.la
###############################################################################
2018-04-06 14:57:26 +00:00
shared_libcsiphash_la_CPPFLAGS = $( src_cppflags)
shared_libcsiphash_la_SOURCES = \
shared/c-siphash/src/c-siphash.c \
shared/c-siphash/src/c-siphash.h
shared_libnacd_la_CFLAGS = -std= gnu99
shared_libnacd_la_CPPFLAGS = \
$( src_cppflags) \
-I $( srcdir) /shared/c-list/src \
-I $( srcdir) /shared/c-siphash/src
shared_libnacd_la_SOURCES = \
shared/n-acd/src/n-acd.c \
shared/n-acd/src/n-acd.h
noinst_LTLIBRARIES += \
shared/libcsiphash.la \
shared/libnacd.la
EXTRA_DIST += shared/c-list/src/c-list.h
###############################################################################
2016-10-18 09:54:58 +00:00
src_libsystemd_nm_la_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2016-10-18 09:54:58 +00:00
-I$( srcdir) /src \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src/systemd/sd-adapt \
2017-10-13 15:16:23 +00:00
-I$( srcdir) /shared/nm-utils \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src/systemd/src/systemd \
-I$( srcdir) /src/systemd/src/basic \
-I$( srcdir) /src/systemd/src/shared \
-I$( srcdir) /src/systemd/src/libsystemd-network \
2016-10-18 09:54:58 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_SYSTEMD \
2018-02-16 15:05:31 +00:00
$( LIBSYSTEMD_NM_CFLAGS) \
2016-10-22 10:25:40 +00:00
$( GLIB_CFLAGS) \
$( CODE_COVERAGE_CFLAGS)
2016-10-18 09:54:58 +00:00
src_libsystemd_nm_la_libadd = \
2016-10-22 10:25:40 +00:00
$( GLIB_LIBS) \
$( CODE_COVERAGE_LDFLAGS)
2016-10-18 09:54:58 +00:00
2016-10-15 16:25:13 +00:00
src_libsystemd_nm_la_SOURCES = \
src/systemd/nm-sd.c \
src/systemd/nm-sd.h \
src/systemd/sd-adapt/nm-sd-adapt.c \
src/systemd/sd-adapt/nm-sd-adapt.h \
2017-08-11 10:02:29 +00:00
src/systemd/sd-adapt/architecture.h \
2017-09-22 10:06:11 +00:00
src/systemd/sd-adapt/btrfs-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/build.h \
src/systemd/sd-adapt/cgroup-util.h \
src/systemd/sd-adapt/condition.h \
src/systemd/sd-adapt/conf-parser.h \
src/systemd/sd-adapt/def.h \
2017-12-13 08:12:31 +00:00
src/systemd/sd-adapt/device-nodes.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/dirent-util.h \
2017-03-08 23:27:38 +00:00
src/systemd/sd-adapt/env-util.h \
2017-11-15 17:48:40 +00:00
src/systemd/sd-adapt/errno-list.h \
2016-11-13 13:16:00 +00:00
src/systemd/sd-adapt/format-util.h \
2017-12-13 08:12:31 +00:00
src/systemd/sd-adapt/glob-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/gunicode.h \
2017-08-11 10:02:29 +00:00
src/systemd/sd-adapt/ioprio.h \
2017-01-04 14:50:30 +00:00
src/systemd/sd-adapt/khash.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/libudev.h \
2018-02-15 09:25:44 +00:00
src/systemd/sd-adapt/locale-util.h \
2017-12-13 08:12:31 +00:00
src/systemd/sd-adapt/memfd-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/missing.h \
src/systemd/sd-adapt/mkdir.h \
2018-02-15 09:25:44 +00:00
src/systemd/sd-adapt/procfs-util.h \
2017-08-11 10:02:29 +00:00
src/systemd/sd-adapt/raw-clone.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/sd-daemon.h \
src/systemd/sd-adapt/stat-util.h \
2018-01-02 09:14:41 +00:00
src/systemd/sd-adapt/terminal-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/sd-adapt/udev-util.h \
src/systemd/sd-adapt/udev.h \
src/systemd/sd-adapt/user-util.h \
src/systemd/sd-adapt/virt.h \
src/systemd/src/basic/alloc-util.c \
src/systemd/src/basic/alloc-util.h \
src/systemd/src/basic/async.h \
src/systemd/src/basic/escape.c \
src/systemd/src/basic/escape.h \
src/systemd/src/basic/ether-addr-util.c \
src/systemd/src/basic/ether-addr-util.h \
src/systemd/src/basic/extract-word.c \
src/systemd/src/basic/extract-word.h \
src/systemd/src/basic/fd-util.c \
src/systemd/src/basic/fd-util.h \
src/systemd/src/basic/fileio.c \
src/systemd/src/basic/fileio.h \
src/systemd/src/basic/fs-util.c \
src/systemd/src/basic/fs-util.h \
src/systemd/src/basic/hash-funcs.c \
src/systemd/src/basic/hash-funcs.h \
src/systemd/src/basic/hashmap.c \
src/systemd/src/basic/hashmap.h \
src/systemd/src/basic/hexdecoct.c \
src/systemd/src/basic/hexdecoct.h \
src/systemd/src/basic/hostname-util.c \
src/systemd/src/basic/hostname-util.h \
src/systemd/src/basic/in-addr-util.c \
src/systemd/src/basic/in-addr-util.h \
src/systemd/src/basic/io-util.c \
src/systemd/src/basic/io-util.h \
src/systemd/src/basic/list.h \
src/systemd/src/basic/log.h \
src/systemd/src/basic/macro.h \
src/systemd/src/basic/mempool.c \
src/systemd/src/basic/mempool.h \
src/systemd/src/basic/parse-util.c \
src/systemd/src/basic/parse-util.h \
src/systemd/src/basic/path-util.c \
src/systemd/src/basic/path-util.h \
src/systemd/src/basic/prioq.c \
src/systemd/src/basic/prioq.h \
2017-08-09 15:03:36 +00:00
src/systemd/src/basic/process-util.c \
src/systemd/src/basic/process-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/src/basic/random-util.c \
src/systemd/src/basic/random-util.h \
src/systemd/src/basic/refcnt.h \
src/systemd/src/basic/set.h \
src/systemd/src/basic/signal-util.h \
src/systemd/src/basic/socket-util.c \
src/systemd/src/basic/socket-util.h \
src/systemd/src/basic/sparse-endian.h \
2018-05-18 14:44:44 +00:00
src/systemd/src/basic/stat-util.c \
src/systemd/src/basic/stat-util.h \
2016-10-15 16:25:13 +00:00
src/systemd/src/basic/stdio-util.h \
src/systemd/src/basic/string-table.c \
src/systemd/src/basic/string-table.h \
src/systemd/src/basic/string-util.c \
src/systemd/src/basic/string-util.h \
src/systemd/src/basic/strv.c \
src/systemd/src/basic/strv.h \
src/systemd/src/basic/time-util.c \
src/systemd/src/basic/time-util.h \
src/systemd/src/basic/umask-util.h \
src/systemd/src/basic/utf8.c \
src/systemd/src/basic/utf8.h \
src/systemd/src/basic/util.c \
src/systemd/src/basic/util.h \
src/systemd/src/libsystemd-network/arp-util.c \
src/systemd/src/libsystemd-network/arp-util.h \
src/systemd/src/libsystemd-network/dhcp-identifier.c \
src/systemd/src/libsystemd-network/dhcp-identifier.h \
src/systemd/src/libsystemd-network/dhcp-internal.h \
src/systemd/src/libsystemd-network/dhcp-lease-internal.h \
src/systemd/src/libsystemd-network/dhcp-network.c \
src/systemd/src/libsystemd-network/dhcp-option.c \
src/systemd/src/libsystemd-network/dhcp-packet.c \
src/systemd/src/libsystemd-network/dhcp-protocol.h \
src/systemd/src/libsystemd-network/dhcp6-internal.h \
src/systemd/src/libsystemd-network/dhcp6-lease-internal.h \
src/systemd/src/libsystemd-network/dhcp6-network.c \
src/systemd/src/libsystemd-network/dhcp6-option.c \
src/systemd/src/libsystemd-network/dhcp6-protocol.h \
src/systemd/src/libsystemd-network/lldp-internal.h \
src/systemd/src/libsystemd-network/lldp-neighbor.c \
src/systemd/src/libsystemd-network/lldp-neighbor.h \
src/systemd/src/libsystemd-network/lldp-network.c \
src/systemd/src/libsystemd-network/lldp-network.h \
src/systemd/src/libsystemd-network/network-internal.c \
src/systemd/src/libsystemd-network/network-internal.h \
src/systemd/src/libsystemd-network/sd-dhcp-client.c \
src/systemd/src/libsystemd-network/sd-dhcp-lease.c \
src/systemd/src/libsystemd-network/sd-dhcp6-client.c \
src/systemd/src/libsystemd-network/sd-dhcp6-lease.c \
src/systemd/src/libsystemd-network/sd-ipv4acd.c \
src/systemd/src/libsystemd-network/sd-ipv4ll.c \
src/systemd/src/libsystemd-network/sd-lldp.c \
src/systemd/src/libsystemd/sd-event/sd-event.c \
src/systemd/src/libsystemd/sd-id128/id128-util.c \
src/systemd/src/libsystemd/sd-id128/id128-util.h \
src/systemd/src/libsystemd/sd-id128/sd-id128.c \
src/systemd/src/shared/dns-domain.c \
src/systemd/src/shared/dns-domain.h \
src/systemd/src/systemd/_sd-common.h \
src/systemd/src/systemd/sd-dhcp-client.h \
src/systemd/src/systemd/sd-dhcp-lease.h \
src/systemd/src/systemd/sd-dhcp6-client.h \
src/systemd/src/systemd/sd-dhcp6-lease.h \
src/systemd/src/systemd/sd-event.h \
src/systemd/src/systemd/sd-id128.h \
src/systemd/src/systemd/sd-ipv4acd.h \
src/systemd/src/systemd/sd-ipv4ll.h \
src/systemd/src/systemd/sd-lldp.h \
src/systemd/src/systemd/sd-ndisc.h
2016-10-18 09:54:58 +00:00
src_libsystemd_nm_la_CPPFLAGS = $( src_libsystemd_nm_la_cppflags)
src_libsystemd_nm_la_LIBADD = $( src_libsystemd_nm_la_libadd)
2017-03-28 20:37:19 +00:00
$(src_libsystemd_nm_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/systemd/meson.build
2016-10-15 16:25:13 +00:00
###############################################################################
src_libNetworkManagerBase_la_CPPFLAGS = $( src_cppflags)
src_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
\
2016-10-15 16:25:13 +00:00
src/nm-core-utils.c \
src/nm-core-utils.h \
src/nm-logging.c \
2016-10-22 12:54:56 +00:00
src/nm-logging.h \
\
src/NetworkManagerUtils.c \
src/NetworkManagerUtils.h \
\
2018-01-14 13:43:34 +00:00
src/platform/nm-netlink.c \
src/platform/nm-netlink.h \
\
2016-10-22 12:54:56 +00:00
src/platform/nmp-netns.c \
src/platform/nmp-netns.h \
src/platform/nmp-object.c \
src/platform/nmp-object.h \
src/platform/nm-platform-utils.c \
src/platform/nm-platform-utils.h \
src/platform/nm-platform.c \
src/platform/nm-platform.h \
2017-06-29 09:18:10 +00:00
src/platform/nm-platform-private.h \
2016-10-22 12:54:56 +00:00
src/platform/nm-linux-platform.c \
src/platform/nm-linux-platform.h \
src/platform/wifi/wifi-utils-nl80211.c \
src/platform/wifi/wifi-utils-nl80211.h \
src/platform/wifi/wifi-utils-private.h \
src/platform/wifi/wifi-utils.c \
src/platform/wifi/wifi-utils.h \
\
2016-10-13 11:06:25 +00:00
src/ndisc/nm-lndp-ndisc.c \
src/ndisc/nm-lndp-ndisc.h \
src/ndisc/nm-ndisc.c \
src/ndisc/nm-ndisc.h \
src/ndisc/nm-ndisc-private.h \
2016-10-22 12:54:56 +00:00
\
core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API
Previously, we used the generated GDBusInterfaceSkeleton types and glued
them via the NMExportedObject base class to our NM types. We also used
GDBusObjectManagerServer.
Don't do that anymore. The resulting code was more complicated despite (or
because?) using generated classes. It was hard to understand, complex, had
ordering-issues, and had a runtime and memory overhead.
This patch refactors this entirely and uses the lower layer API GDBusConnection
directly. It replaces the generated code, GDBusInterfaceSkeleton, and
GDBusObjectManagerServer. All this is now done by NMDbusObject and NMDBusManager
and static descriptor instances of type GDBusInterfaceInfo.
This adds a net plus of more then 1300 lines of hand written code. I claim
that this implementation is easier to understand. Note that previously we
also required extensive and complex glue code to bind our objects to the
generated skeleton objects. Instead, now glue our objects directly to
GDBusConnection. The result is more immediate and gets rid of layers of
code in between.
Now that the D-Bus glue us more under our control, we can address issus and
bottlenecks better, instead of adding code to bend the generated skeletons
to our needs.
Note that the current implementation now only supports one D-Bus connection.
That was effectively the case already, although there were places (and still are)
where the code pretends it could also support connections from a private socket.
We dropped private socket support mainly because it was unused, untested and
buggy, but also because GDBusObjectManagerServer could not export the same
objects on multiple connections. Now, it would be rather straight forward to
fix that and re-introduce ObjectManager on each private connection. But this
commit doesn't do that yet, and the new code intentionally supports only one
D-Bus connection.
Also, the D-Bus startup was simplified. There is no retry, either nm_dbus_manager_start()
succeeds, or it detects the initrd case. In the initrd case, bus manager never tries to
connect to D-Bus. Since the initrd scenario is not yet used/tested, this is good enough
for the moment. It could be easily extended later, for example with polling whether the
system bus appears (like was done previously). Also, restart of D-Bus daemon isn't
supported either -- just like before.
Note how NMDBusManager now implements the ObjectManager D-Bus interface
directly.
Also, this fixes race issues in the server, by no longer delaying
PropertiesChanged signals. NMExportedObject would collect changed
properties and send the signal out in idle_emit_properties_changed()
on idle. This messes up the ordering of change events w.r.t. other
signals and events on the bus. Note that not only NMExportedObject
messed up the ordering. Also the generated code would hook into
notify() and process change events in and idle handle, exhibiting the
same ordering issue too.
No longer do that. PropertiesChanged signals will be sent right away
by hooking into dispatch_properties_changed(). This means, changing
a property in quick succession will no longer be combined and is
guaranteed to emit signals for each individual state. Quite possibly
we emit now more PropertiesChanged signals then before.
However, we are now able to group a set of changes by using standard
g_object_freeze_notify()/g_object_thaw_notify(). We probably should
make more use of that.
Also, now that our signals are all handled in the right order, we
might find places where we still emit them in the wrong order. But that
is then due to the order in which our GObjects emit signals, not due
to an ill behavior of the D-Bus glue. Possibly we need to identify
such ordering issues and fix them.
Numbers (for contrib/rpm --without debug on x86_64):
- the patch changes the code size of NetworkManager by
- 2809360 bytes
+ 2537528 bytes (-9.7%)
- Runtime measurements are harder because there is a large variance
during testing. In other words, the numbers are not reproducible.
Currently, the implementation performs no caching of GVariants at all,
but it would be rather simple to add it, if that turns out to be
useful.
Anyway, without strong claim, it seems that the new form tends to
perform slightly better. That would be no surprise.
$ time (for i in {1..1000}; do nmcli >/dev/null || break; echo -n .; done)
- real 1m39.355s
+ real 1m37.432s
$ time (for i in {1..2000}; do busctl call org.freedesktop.NetworkManager /org/freedesktop org.freedesktop.DBus.ObjectManager GetManagedObjects > /dev/null || break; echo -n .; done)
- real 0m26.843s
+ real 0m25.281s
- Regarding RSS size, just looking at the processes in similar
conditions, doesn't give a large difference. On my system they
consume about 19MB RSS. It seems that the new version has a
slightly smaller RSS size.
- 19356 RSS
+ 18660 RSS
2018-02-26 12:51:52 +00:00
src/nm-dbus-utils.c \
src/nm-dbus-utils.h \
src/nm-dbus-object.c \
src/nm-dbus-object.h \
2016-10-22 12:54:56 +00:00
src/nm-ip4-config.c \
src/nm-ip4-config.h \
src/nm-ip6-config.c \
src/nm-ip6-config.h \
\
2016-11-20 23:26:17 +00:00
src/dhcp/nm-dhcp-client.c \
src/dhcp/nm-dhcp-client.h \
src/dhcp/nm-dhcp-client-logging.h \
src/dhcp/nm-dhcp-utils.c \
src/dhcp/nm-dhcp-utils.h \
src/dhcp/nm-dhcp-systemd.c \
src/dhcp/nm-dhcp-manager.c \
src/dhcp/nm-dhcp-manager.h \
2016-10-22 12:54:56 +00:00
\
src/main-utils.c \
src/main-utils.h \
\
$( NULL)
i f W I T H _ W E X T
src_libNetworkManagerBase_la_SOURCES += \
src/platform/wifi/wifi-utils-wext.c \
src/platform/wifi/wifi-utils-wext.h
e n d i f
2016-10-15 16:25:13 +00:00
src_libNetworkManagerBase_la_LIBADD = \
2016-10-22 12:54:56 +00:00
libnm-core/libnm-core.la \
2016-10-15 16:25:13 +00:00
$( GLIB_LIBS) \
$( SYSTEMD_JOURNAL_LIBS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_LIBS) \
2016-10-15 16:25:13 +00:00
$( NULL)
2017-03-28 20:37:19 +00:00
$(src_libNetworkManagerBase_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
###############################################################################
src_libNetworkManager_la_CPPFLAGS = $( src_cppflags)
src_libNetworkManager_la_SOURCES = \
\
src/nm-checkpoint.c \
src/nm-checkpoint.h \
2018-03-27 10:45:23 +00:00
src/nm-checkpoint-manager.c \
src/nm-checkpoint-manager.h \
2016-10-15 16:25:13 +00:00
\
src/devices/nm-device.c \
src/devices/nm-device.h \
src/devices/nm-lldp-listener.c \
src/devices/nm-lldp-listener.h \
2018-04-05 13:19:27 +00:00
src/devices/nm-acd-manager.c \
src/devices/nm-acd-manager.h \
2016-10-15 16:25:13 +00:00
src/devices/nm-device-ethernet-utils.c \
src/devices/nm-device-ethernet-utils.h \
src/devices/nm-device-factory.c \
src/devices/nm-device-factory.h \
src/devices/nm-device-generic.c \
src/devices/nm-device-generic.h \
src/devices/nm-device-logging.h \
src/devices/nm-device-private.h \
\
src/devices/nm-device-bond.c \
src/devices/nm-device-bond.h \
src/devices/nm-device-bridge.c \
src/devices/nm-device-bridge.h \
2017-01-31 13:14:33 +00:00
src/devices/nm-device-dummy.c \
src/devices/nm-device-dummy.h \
2016-10-15 16:25:13 +00:00
src/devices/nm-device-ethernet.c \
src/devices/nm-device-ethernet.h \
src/devices/nm-device-infiniband.c \
src/devices/nm-device-infiniband.h \
src/devices/nm-device-ip-tunnel.c \
src/devices/nm-device-ip-tunnel.h \
2016-06-30 16:20:22 +00:00
src/devices/nm-device-macsec.c \
src/devices/nm-device-macsec.h \
2016-10-15 16:25:13 +00:00
src/devices/nm-device-macvlan.c \
src/devices/nm-device-macvlan.h \
2017-06-06 13:55:08 +00:00
src/devices/nm-device-ppp.c \
src/devices/nm-device-ppp.h \
2016-10-15 16:25:13 +00:00
src/devices/nm-device-tun.c \
src/devices/nm-device-tun.h \
src/devices/nm-device-veth.c \
src/devices/nm-device-veth.h \
src/devices/nm-device-vlan.c \
src/devices/nm-device-vlan.h \
src/devices/nm-device-vxlan.c \
src/devices/nm-device-vxlan.h \
\
2017-10-05 14:44:08 +00:00
src/dhcp/nm-dhcp-dhcpcanon.c \
2016-11-20 23:26:17 +00:00
src/dhcp/nm-dhcp-dhclient.c \
src/dhcp/nm-dhcp-dhcpcd.c \
src/dhcp/nm-dhcp-helper-api.h \
src/dhcp/nm-dhcp-listener.c \
src/dhcp/nm-dhcp-listener.h \
src/dhcp/nm-dhcp-dhclient-utils.c \
src/dhcp/nm-dhcp-dhclient-utils.h \
2016-10-15 16:25:13 +00:00
\
2017-12-15 13:07:09 +00:00
src/dns/nm-dns-manager.c \
src/dns/nm-dns-manager.h \
src/dns/nm-dns-plugin.c \
src/dns/nm-dns-plugin.h \
2016-11-20 23:31:51 +00:00
src/dns/nm-dns-dnsmasq.c \
src/dns/nm-dns-dnsmasq.h \
src/dns/nm-dns-systemd-resolved.c \
src/dns/nm-dns-systemd-resolved.h \
src/dns/nm-dns-unbound.c \
src/dns/nm-dns-unbound.h \
2016-10-15 16:25:13 +00:00
\
2016-11-20 23:35:32 +00:00
src/dnsmasq/nm-dnsmasq-manager.c \
src/dnsmasq/nm-dnsmasq-manager.h \
src/dnsmasq/nm-dnsmasq-utils.c \
src/dnsmasq/nm-dnsmasq-utils.h \
2016-10-15 16:25:13 +00:00
\
2016-11-03 17:38:27 +00:00
src/ppp/nm-ppp-manager-call.c \
src/ppp/nm-ppp-manager-call.h \
2016-11-20 23:38:45 +00:00
src/ppp/nm-ppp-manager.h \
src/ppp/nm-ppp-status.h \
2016-10-15 16:25:13 +00:00
\
2017-04-22 22:40:46 +00:00
src/nm-hostname-manager.c \
src/nm-hostname-manager.h \
\
2016-10-15 16:25:13 +00:00
src/settings/nm-agent-manager.c \
src/settings/nm-agent-manager.h \
src/settings/nm-secret-agent.c \
src/settings/nm-secret-agent.h \
src/settings/nm-settings-connection.c \
src/settings/nm-settings-connection.h \
src/settings/nm-settings-plugin.c \
src/settings/nm-settings-plugin.h \
src/settings/nm-settings.c \
src/settings/nm-settings.h \
\
src/settings/plugins/keyfile/nms-keyfile-connection.c \
src/settings/plugins/keyfile/nms-keyfile-connection.h \
src/settings/plugins/keyfile/nms-keyfile-plugin.c \
src/settings/plugins/keyfile/nms-keyfile-plugin.h \
src/settings/plugins/keyfile/nms-keyfile-reader.c \
src/settings/plugins/keyfile/nms-keyfile-reader.h \
src/settings/plugins/keyfile/nms-keyfile-utils.c \
src/settings/plugins/keyfile/nms-keyfile-utils.h \
src/settings/plugins/keyfile/nms-keyfile-writer.c \
src/settings/plugins/keyfile/nms-keyfile-writer.h \
\
2016-11-20 23:24:54 +00:00
src/supplicant/nm-supplicant-config.c \
src/supplicant/nm-supplicant-config.h \
src/supplicant/nm-supplicant-interface.c \
src/supplicant/nm-supplicant-interface.h \
src/supplicant/nm-supplicant-manager.c \
src/supplicant/nm-supplicant-manager.h \
src/supplicant/nm-supplicant-settings-verify.c \
src/supplicant/nm-supplicant-settings-verify.h \
src/supplicant/nm-supplicant-types.h \
2016-10-15 16:25:13 +00:00
\
2016-11-20 23:33:50 +00:00
src/vpn/nm-vpn-connection.c \
src/vpn/nm-vpn-connection.h \
src/vpn/nm-vpn-manager.c \
src/vpn/nm-vpn-manager.h \
2016-10-15 16:25:13 +00:00
\
src/nm-act-request.c \
src/nm-act-request.h \
src/nm-active-connection.c \
src/nm-active-connection.h \
src/nm-audit-manager.c \
src/nm-audit-manager.h \
2018-03-02 04:55:21 +00:00
src/nm-dbus-manager.c \
src/nm-dbus-manager.h \
2016-10-15 16:25:13 +00:00
src/nm-config.c \
src/nm-config.h \
src/nm-config-data.c \
src/nm-config-data.h \
2018-02-19 18:50:18 +00:00
src/nm-connectivity.c \
2016-10-15 16:25:13 +00:00
src/nm-connectivity.h \
src/nm-dcb.c \
src/nm-dcb.h \
2017-04-17 16:40:52 +00:00
src/nm-netns.c \
src/nm-netns.h \
2016-10-15 16:25:13 +00:00
src/nm-dhcp4-config.c \
src/nm-dhcp4-config.h \
src/nm-dhcp6-config.c \
src/nm-dhcp6-config.h \
src/nm-dispatcher.c \
src/nm-dispatcher.h \
src/nm-firewall-manager.c \
src/nm-firewall-manager.h \
src/nm-proxy-config.c \
src/nm-proxy-config.h \
src/nm-auth-manager.c \
src/nm-auth-manager.h \
src/nm-auth-subject.c \
2016-10-22 11:02:15 +00:00
src/nm-auth-subject.h \
2016-10-15 16:25:13 +00:00
src/nm-auth-utils.c \
src/nm-auth-utils.h \
src/nm-manager.c \
src/nm-manager.h \
src/nm-pacrunner-manager.c \
src/nm-pacrunner-manager.h \
src/nm-policy.c \
src/nm-policy.h \
src/nm-rfkill-manager.c \
src/nm-rfkill-manager.h \
src/nm-session-monitor.h \
src/nm-session-monitor.c \
src/nm-sleep-monitor.c \
src/nm-sleep-monitor.h \
2016-10-22 11:54:59 +00:00
src/nm-types.h \
2016-10-22 12:54:56 +00:00
\
2016-10-15 16:25:13 +00:00
$( NULL)
src_libNetworkManager_la_LIBADD = \
src/libNetworkManagerBase.la \
src/libsystemd-nm.la \
2018-04-06 14:57:26 +00:00
shared/libcsiphash.la \
shared/libnacd.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) \
$( 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) \
2016-04-04 16:23:13 +00:00
$( LIBCURL_LIBS)
2016-10-15 16:25:13 +00:00
2017-03-28 20:37:19 +00:00
$(src_libNetworkManager_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
###############################################################################
2016-10-22 13:44:19 +00:00
check_ltlibraries += src/libNetworkManagerTest.la
2016-10-22 14:56:37 +00:00
src_tests_cppflags = \
2018-01-02 12:37:06 +00:00
$( src_cppflags) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST
2016-10-22 14:56:37 +00:00
2016-10-22 13:44:19 +00:00
i f R E Q U I R E _ R O O T _ T E S T S
2016-10-22 14:56:37 +00:00
src_tests_cppflags += -DREQUIRE_ROOT_TESTS= 1
2016-10-22 13:44:19 +00:00
e n d i f
2016-10-15 16:25:13 +00:00
2016-10-22 14:56:37 +00:00
src_tests_cppflags_fake = $( src_tests_cppflags) -DSETUP= nm_fake_platform_setup
src_tests_cppflags_linux = $( src_tests_cppflags) -DSETUP= nm_linux_platform_setup
src_libNetworkManagerTest_la_CPPFLAGS = $( src_tests_cppflags)
2016-10-15 16:25:13 +00:00
src_libNetworkManagerTest_la_SOURCES = \
2016-10-13 11:06:25 +00:00
src/ndisc/nm-fake-ndisc.c \
src/ndisc/nm-fake-ndisc.h \
2016-10-15 16:25:13 +00:00
src/platform/nm-fake-platform.c \
2016-10-22 13:44:19 +00:00
src/platform/nm-fake-platform.h \
src/platform/tests/test-common.c \
src/platform/tests/test-common.h
2016-10-15 16:25:13 +00:00
src_libNetworkManagerTest_la_LIBADD = \
2016-10-22 13:44:19 +00:00
src/libNetworkManager.la \
$( CODE_COVERAGE_LDFLAGS) \
$( GLIB_LIBS) \
2018-02-15 15:54:30 +00:00
$( LIBUDEV_LIBS)
2016-10-15 16:25:13 +00:00
2017-03-28 20:37:19 +00:00
$(src_libNetworkManagerTest_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
###############################################################################
2016-12-18 12:11:18 +00:00
src/NetworkManager.ver : src /libNetworkManager .la $( core_plugins )
2017-06-01 08:26:59 +00:00
$( AM_V_GEN) NM = " $( NM) " " $( srcdir) /tools/create-exports-NetworkManager.sh " --called-from-make " $( srcdir) "
2016-11-10 16:06:37 +00:00
CLEANFILES += src/NetworkManager.ver
2016-10-15 16:25:13 +00:00
EXTRA_src_NetworkManager_DEPENDENCIES = \
src/NetworkManager.ver
src_NetworkManager_CPPFLAGS = $( src_cppflags)
src_NetworkManager_SOURCES = \
src/main.c
src_NetworkManager_LDADD = \
src/libNetworkManager.la
src_NetworkManager_LDFLAGS = \
-rdynamic \
2018-02-07 10:10:31 +00:00
-Wl,--version-script= "src/NetworkManager.ver" \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-15 16:25:13 +00:00
2017-03-28 20:37:19 +00:00
$(src_NetworkManager_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
###############################################################################
2016-10-22 14:23:40 +00:00
src_nm_iface_helper_CPPFLAGS = $( src_cppflags)
2016-10-15 16:25:13 +00:00
src_nm_iface_helper_SOURCES = \
2016-10-22 12:54:56 +00:00
src/nm-iface-helper.c
2016-10-15 16:25:13 +00:00
src_nm_iface_helper_LDADD = \
src/libNetworkManagerBase.la \
src/libsystemd-nm.la \
$( GLIB_LIBS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_LIBS) \
2016-10-15 16:25:13 +00:00
$( LIBNDP_LIBS) \
2017-03-23 12:35:02 +00:00
$( DL_LIBS)
2016-10-15 16:25:13 +00:00
src_nm_iface_helper_LDFLAGS = \
2018-02-07 10:10:31 +00:00
-Wl,--version-script= " $( srcdir) /linker-script-binary.ver " \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-15 16:25:13 +00:00
2017-03-28 20:37:19 +00:00
$(src_nm_iface_helper_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 16:25:13 +00:00
###############################################################################
EXTRA_DIST += \
src/org.freedesktop.NetworkManager.conf \
2018-01-08 12:06:54 +00:00
src/nm-test-utils-core.h \
src/meson.build
2016-10-15 16:25:13 +00:00
2016-10-15 17:59:09 +00:00
###############################################################################
2016-11-20 23:26:17 +00:00
# src/dhcp
2016-10-15 17:59:09 +00:00
###############################################################################
2016-11-20 23:26:17 +00:00
libexec_PROGRAMS += src/dhcp/nm-dhcp-helper
2016-10-15 17:59:09 +00:00
2016-11-20 23:26:17 +00:00
src_dhcp_nm_dhcp_helper_CPPFLAGS = \
2016-10-15 17:59:09 +00:00
$( GLIB_CFLAGS) \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
2016-10-15 17:59:09 +00:00
-DG_LOG_DOMAIN= \" "nm-dhcp-helper" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_GLIB \
2016-10-15 17:59:09 +00:00
-DNMRUNDIR= \" $( nmrundir) \"
2016-11-20 23:26:17 +00:00
src_dhcp_nm_dhcp_helper_SOURCES = \
src/dhcp/nm-dhcp-helper.c \
src/dhcp/nm-dhcp-helper-api.h \
2016-10-15 17:59:09 +00:00
$( NULL)
2016-11-20 23:26:17 +00:00
src_dhcp_nm_dhcp_helper_LDFLAGS = \
2016-10-15 17:59:09 +00:00
-Wl,--version-script= " $( srcdir) /linker-script-binary.ver "
2016-11-20 23:26:17 +00:00
src_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 += \
src/dhcp/meson.build
2016-10-15 17:59:09 +00:00
###############################################################################
2016-11-20 23:26:17 +00:00
# src/dhcp/tests
2016-10-15 17:59:09 +00:00
###############################################################################
2016-11-20 23:26:17 +00:00
src_dhcp_tests_cppflags = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-11-20 23:26:17 +00:00
-DTESTDIR= " \" $( abs_srcdir) /src/dhcp/tests\" "
2016-10-15 17:59:09 +00:00
2016-11-20 23:26:17 +00:00
src_dhcp_tests_ldadd = \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-15 17:59:09 +00:00
2016-10-22 12:54:56 +00:00
check_programs += \
2016-11-20 23:26:17 +00:00
src/dhcp/tests/test-dhcp-dhclient \
src/dhcp/tests/test-dhcp-utils
2016-10-15 17:59:09 +00:00
2016-11-20 23:26:17 +00:00
src_dhcp_tests_test_dhcp_dhclient_CPPFLAGS = $( src_dhcp_tests_cppflags)
src_dhcp_tests_test_dhcp_utils_CPPFLAGS = $( src_dhcp_tests_cppflags)
2016-10-15 17:59:09 +00:00
2016-11-20 23:26:17 +00:00
src_dhcp_tests_test_dhcp_dhclient_LDADD = $( src_dhcp_tests_ldadd)
src_dhcp_tests_test_dhcp_utils_LDADD = $( src_dhcp_tests_ldadd)
2016-10-15 17:59:09 +00:00
2018-02-07 10:10:31 +00:00
src_dhcp_tests_test_dhcp_dhclient_LDFLAGS = $( src_tests_ldflags)
src_dhcp_tests_test_dhcp_utils_LDFLAGS = $( src_tests_ldflags)
2017-03-28 20:37:19 +00:00
$(src_dhcp_tests_test_dhcp_dhclient_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_dhcp_tests_test_dhcp_utils_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 17:59:09 +00:00
EXTRA_DIST += \
2016-11-20 23:26:17 +00:00
src/dhcp/tests/test-dhclient-duid.leases \
src/dhcp/tests/test-dhclient-commented-duid.leases \
2018-01-08 12:06:54 +00:00
src/dhcp/tests/meson.build
2016-10-15 17:59:09 +00:00
2016-10-15 20:13:28 +00:00
###############################################################################
2016-11-20 23:38:45 +00:00
# src/ppp
2016-10-15 20:13:28 +00:00
###############################################################################
i f W I T H _ P P P
2016-12-12 20:38:04 +00:00
core_plugins += src/ppp/libnm-ppp-plugin.la
2016-11-20 23:38:45 +00:00
pppd_plugin_LTLIBRARIES += src/ppp/nm-pppd-plugin.la
2016-10-15 20:13:28 +00:00
2016-11-20 23:38:45 +00:00
src_ppp_nm_pppd_plugin_la_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
2016-10-15 20:13:28 +00:00
-DG_LOG_DOMAIN= \" "nm-pppd-plugin" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_GLIB \
2016-10-15 20:13:28 +00:00
$( GLIB_CFLAGS)
2016-11-20 23:38:45 +00:00
src_ppp_nm_pppd_plugin_la_SOURCES = \
src/ppp/nm-pppd-plugin.c \
src/ppp/nm-pppd-plugin.h \
src/ppp/nm-ppp-status.h
2016-10-15 20:13:28 +00:00
2016-11-20 23:38:45 +00:00
src_ppp_nm_pppd_plugin_la_LDFLAGS = \
2016-10-15 20:13:28 +00:00
-module -avoid-version
2016-11-20 23:38:45 +00:00
src_ppp_nm_pppd_plugin_la_LIBADD = \
2016-10-15 20:13:28 +00:00
$( GLIB_LIBS) \
$( DL_LIBS)
2017-03-28 20:37:19 +00:00
$(src_ppp_nm_pppd_plugin_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-11-03 17:38:27 +00:00
src_ppp_libnm_ppp_plugin_la_SOURCES = \
src/ppp/nm-pppd-plugin.h \
src/ppp/nm-ppp-manager.c \
src/ppp/nm-ppp-manager.h \
src/ppp/nm-ppp-plugin-api.h \
src/ppp/nm-ppp-status.h
EXTRA_src_ppp_libnm_ppp_plugin_la_DEPENDENCIES = \
src/ppp/nm-ppp-plugin.ver
src_ppp_libnm_ppp_plugin_la_CPPFLAGS = \
2017-09-25 16:18:49 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
2016-11-03 17:38:27 +00:00
-DPPPD_PLUGIN_DIR= \" $( PPPD_PLUGIN_DIR) \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-11-03 17:38:27 +00:00
$( GLIB_CFLAGS)
src_ppp_libnm_ppp_plugin_la_LDFLAGS = \
-module -avoid-version \
2017-09-25 16:18:49 +00:00
-Wl,--version-script= " $( srcdir) /src/ppp/nm-ppp-plugin.ver "
2016-11-03 17:38:27 +00:00
src_ppp_libnm_ppp_plugin_la_LIBADD = \
$( GLIB_LIBS)
2017-03-28 20:37:19 +00:00
$(src_ppp_libnm_ppp_plugin_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:13:28 +00:00
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/ppp/meson.build
2016-10-15 20:28:34 +00:00
###############################################################################
# src/settings/plugins/keyfile/tests
###############################################################################
2016-10-16 14:50:04 +00:00
check_programs += src/settings/plugins/keyfile/tests/test-keyfile
2016-10-15 20:28:34 +00:00
src_settings_plugins_keyfile_tests_test_keyfile_CPPFLAGS = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-10-15 20:28:34 +00:00
-DTEST_KEYFILES_DIR= \" $( abs_srcdir) /src/settings/plugins/keyfile/tests/keyfiles\" \
2016-10-22 14:56:37 +00:00
-DTEST_SCRATCH_DIR= \" $( abs_builddir) /src/settings/plugins/keyfile/tests/keyfiles\"
2016-10-15 20:28:34 +00:00
src_settings_plugins_keyfile_tests_test_keyfile_LDFLAGS = \
$( GLIB_LIBS) \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-15 20:28:34 +00:00
src_settings_plugins_keyfile_tests_test_keyfile_LDADD = \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-15 20:28:34 +00:00
2017-03-28 20:37:19 +00:00
$(src_settings_plugins_keyfile_tests_test_keyfile_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
EXTRA_DIST += \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection \
src/settings/plugins/keyfile/tests/keyfiles/Test_GSM_Connection \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wireless_Connection \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection_MAC_Case \
src/settings/plugins/keyfile/tests/keyfiles/Test_MAC_Old_Format \
src/settings/plugins/keyfile/tests/keyfiles/Test_MAC_IB_Old_Format \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_Connection_IP6 \
src/settings/plugins/keyfile/tests/keyfiles/ATT_Data_Connect_BT \
src/settings/plugins/keyfile/tests/keyfiles/ATT_Data_Connect_Plain \
src/settings/plugins/keyfile/tests/keyfiles/Test_String_SSID \
src/settings/plugins/keyfile/tests/keyfiles/Test_Intlist_SSID \
src/settings/plugins/keyfile/tests/keyfiles/Test_Intlike_SSID \
src/settings/plugins/keyfile/tests/keyfiles/Test_Intlike_SSID_2 \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Old \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_New \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Blob \
src/settings/plugins/keyfile/tests/keyfiles/Test_Wired_TLS_Path_Missing \
src/settings/plugins/keyfile/tests/keyfiles/Test_InfiniBand_Connection \
src/settings/plugins/keyfile/tests/keyfiles/Test_Bridge_Main \
src/settings/plugins/keyfile/tests/keyfiles/Test_Bridge_Component \
src/settings/plugins/keyfile/tests/keyfiles/Test_New_Wired_Group_Name \
src/settings/plugins/keyfile/tests/keyfiles/Test_New_Wireless_Group_Names \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_1 \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_2 \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_1 \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_2 \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_3 \
src/settings/plugins/keyfile/tests/keyfiles/Test_minimal_slave_4 \
src/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Setting \
src/settings/plugins/keyfile/tests/keyfiles/Test_Missing_Vlan_Flags \
src/settings/plugins/keyfile/tests/keyfiles/Test_Missing_ID_UUID \
src/settings/plugins/keyfile/tests/keyfiles/Test_Enum_Property \
src/settings/plugins/keyfile/tests/keyfiles/Test_Flags_Property \
2017-01-04 13:41:30 +00:00
src/settings/plugins/keyfile/tests/keyfiles/Test_dcb_connection \
2017-11-28 08:02:03 +00:00
src/settings/plugins/keyfile/tests/keyfiles/Test_TC_Config \
2016-10-15 20:28:34 +00:00
\
src/settings/plugins/keyfile/tests/keyfiles/test-ca-cert.pem \
2018-01-08 12:06:54 +00:00
src/settings/plugins/keyfile/tests/keyfiles/test-key-and-cert.pem \
\
src/settings/plugins/keyfile/tests/meson.build
2016-10-15 20:28:34 +00:00
2016-10-15 22:07:01 +00:00
###############################################################################
# src/settings/plugins/ibft
###############################################################################
i f C O N F I G _ P L U G I N _ I B F T
2016-11-10 16:06:37 +00:00
core_plugins += src/settings/plugins/ibft/libnm-settings-plugin-ibft.la
2016-10-15 22:07:01 +00:00
noinst_LTLIBRARIES += src/settings/plugins/ibft/libnms-ibft-core.la
src_settings_plugins_ibft_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2016-10-15 22:07:01 +00:00
$( GLIB_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-15 22:07:01 +00:00
-DSYSCONFDIR= \" $( sysconfdir) \" \
-DSBINDIR= \" $( sbindir) \"
src_settings_plugins_ibft_libnms_ibft_core_la_CPPFLAGS = $( src_settings_plugins_ibft_cppflags)
src_settings_plugins_ibft_libnms_ibft_core_la_SOURCES = \
src/settings/plugins/ibft/nms-ibft-reader.c \
src/settings/plugins/ibft/nms-ibft-reader.h
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ibft_libnms_ibft_core_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 22:07:01 +00:00
src_settings_plugins_ibft_libnm_settings_plugin_ibft_la_SOURCES = \
src/settings/plugins/ibft/nms-ibft-plugin.c \
src/settings/plugins/ibft/nms-ibft-plugin.h \
src/settings/plugins/ibft/nms-ibft-connection.c \
src/settings/plugins/ibft/nms-ibft-connection.h
src_settings_plugins_ibft_libnm_settings_plugin_ibft_la_CPPFLAGS = $( src_settings_plugins_ibft_cppflags)
src_settings_plugins_ibft_libnm_settings_plugin_ibft_la_LDFLAGS = \
-module -avoid-version \
-Wl,--version-script= " $( srcdir) /linker-script-settings.ver "
src_settings_plugins_ibft_libnm_settings_plugin_ibft_la_LIBADD = \
src/settings/plugins/ibft/libnms-ibft-core.la
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ibft_libnm_settings_plugin_ibft_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-16 14:50:04 +00:00
check_programs += src/settings/plugins/ibft/tests/test-ibft
2016-10-15 22:07:01 +00:00
src_settings_plugins_ibft_tests_test_ibft_CPPFLAGS = \
$( GLIB_CFLAGS) \
$( CODE_COVERAGE_CFLAGS) \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /src \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-15 22:07:01 +00:00
-DTEST_IBFT_DIR= \" $( abs_srcdir) /src/settings/plugins/ibft/tests\" \
-DTEST_SCRATCH_DIR= \" $( abs_builddir) /src/settings/plugins/ibft/tests\"
src_settings_plugins_ibft_tests_test_ibft_LDFLAGS = \
$( GLIB_LIBS) \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-15 22:07:01 +00:00
src_settings_plugins_ibft_tests_test_ibft_LDADD = \
src/settings/plugins/ibft/libnms-ibft-core.la \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-15 22:07:01 +00:00
2017-03-28 20:37:19 +00:00
$(src_settings_plugins_ibft_tests_test_ibft_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 22:07:01 +00:00
EXTRA_DIST += \
src/settings/plugins/ibft/tests/iscsiadm-test-dhcp \
src/settings/plugins/ibft/tests/iscsiadm-test-static \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-ipaddr \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-gateway \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-dns1 \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-dns2 \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-entry \
src/settings/plugins/ibft/tests/iscsiadm-test-bad-record \
src/settings/plugins/ibft/tests/iscsiadm-test-vlan
check-local-symbols-settings-ibft : src /settings /plugins /ibft /libnm -settings -plugin -ibft .la
$( call check_so_symbols,$( builddir) /src/settings/plugins/ibft/.libs/libnm-settings-plugin-ibft.so)
check_local += check-local-symbols-settings-ibft
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/settings/plugins/ibft/meson.build \
src/settings/plugins/ibft/tests/meson.build
2016-10-15 20:28:34 +00:00
###############################################################################
# src/settings/plugins/ifcfg-rh
###############################################################################
i f C O N F I G _ P L U G I N _ I F C F G _ R H
2016-11-10 16:06:37 +00:00
core_plugins += src/settings/plugins/ifcfg-rh/libnm-settings-plugin-ifcfg-rh.la
2016-10-15 20:28:34 +00:00
noinst_LTLIBRARIES += \
src/settings/plugins/ifcfg-rh/libnmdbus-ifcfg-rh.la \
src/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la
src_settings_plugins_ifcfg_rh_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2016-10-15 20:28:34 +00:00
$( GLIB_CFLAGS) \
$( NSS_CFLAGS) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-15 20:28:34 +00:00
-DSYSCONFDIR= \" $( sysconfdir) \" \
-DSBINDIR= \" $( sbindir) \"
###############################################################################
nodist_src_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES = \
src/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.c \
src/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h
src_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_CPPFLAGS = $( filter-out -DGLIB_VERSION_MAX_ALLOWED%,$( src_settings_plugins_ifcfg_rh_cppflags) )
2016-11-22 18:30:06 +00:00
CLEANFILES += $( nodist_src_settings_plugins_ifcfg_rh_libnmdbus_ifcfg_rh_la_SOURCES)
2016-10-15 20:28:34 +00:00
src/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.h : src /settings /plugins /ifcfg -rh /nm -ifcfg -rh .xml
2017-02-22 10:43:49 +00:00
@$( MKDIR_P) src/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 \
$<
src/settings/plugins/ifcfg-rh/nmdbus-ifcfg-rh.c : src /settings /plugins /ifcfg -rh /nmdbus -ifcfg -rh .h
@true
###############################################################################
src_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_SOURCES = \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-common.h \
src/settings/plugins/ifcfg-rh/shvar.c \
src/settings/plugins/ifcfg-rh/shvar.h \
2017-12-01 10:54:32 +00:00
src/settings/plugins/ifcfg-rh/nm-inotify-helper.c \
2017-12-06 08:23:21 +00:00
src/settings/plugins/ifcfg-rh/nm-inotify-helper.h \
2016-10-15 20:28:34 +00:00
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.h \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.c \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-reader.h \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.h
src_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_CPPFLAGS = $( src_settings_plugins_ifcfg_rh_cppflags)
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ifcfg_rh_libnms_ifcfg_rh_core_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
###############################################################################
src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_SOURCES = \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-connection.c \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-connection.h \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.c \
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-plugin.h
src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_CPPFLAGS = $( src_settings_plugins_ifcfg_rh_cppflags)
src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_LDFLAGS = \
-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
src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_LIBADD = \
2018-01-28 10:48:49 +00:00
src/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la
2016-10-15 20:28:34 +00:00
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_OBJECTS) : src /settings /plugins /ifcfg -rh /nmdbus -ifcfg -rh .h
$(src_settings_plugins_ifcfg_rh_libnm_settings_plugin_ifcfg_rh_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
check-local-symbols-settings-ifcfg-rh : src /settings /plugins /ifcfg -rh /libnm -settings -plugin -ifcfg -rh .la
$( call check_so_symbols,$( builddir) /src/settings/plugins/ifcfg-rh/.libs/libnm-settings-plugin-ifcfg-rh.so)
check_local += check-local-symbols-settings-ifcfg-rh
2016-10-17 13:50:56 +00:00
###############################################################################
# src/settings/plugins/ifcfg-rh/tests
###############################################################################
check_programs += src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh
src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_SOURCES = \
src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_CPPFLAGS = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-10-17 13:50:56 +00:00
-DTEST_IFCFG_DIR= \" $( abs_srcdir) /src/settings/plugins/ifcfg-rh/tests\" \
2016-10-22 14:56:37 +00:00
-DTEST_SCRATCH_DIR= \" $( abs_builddir) /src/settings/plugins/ifcfg-rh/tests\"
2016-10-17 13:50:56 +00:00
src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_LDFLAGS = \
$( GLIB_LIBS) \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-17 13:50:56 +00:00
src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_LDADD = \
src/settings/plugins/ifcfg-rh/libnms-ifcfg-rh-core.la \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-17 13:50:56 +00:00
2017-03-28 20:37:19 +00:00
$(src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
e n d i f
2016-10-17 13:50:56 +00:00
EXTRA_DIST += \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-a.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-b.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_User_1.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bridge_Component.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Proxy_Basic.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \
2017-11-06 14:32:01 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Infiniband_Port.cexpected \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_VLAN_reorder_hdr.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Band_A.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Hidden.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_always.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_default.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_missing.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_never.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Auto-Negotiate.cexpected \
2017-11-07 18:35:46 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Static_Routes.cexpected \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Wake-on-LAN.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-dcb-test.cexpected \
2017-05-25 12:03:42 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 \
2017-06-01 10:47:43 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-team-slave-enp31s0f1-142.cexpected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-eth-type \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-mode-numeric \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave-ib \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-component \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-main \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-missing-stp \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-booleans \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-percent \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-uints \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-default-app-priorities \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-pgpct-not-100 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-booleans \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-percent \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-uints \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dns-options \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-fabric \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-vn2vn \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-minimal \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-misc-variables \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled-unrecognized \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-noip \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-onboot-no \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-permissions \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sit-ignore \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected \
2018-04-16 14:45:44 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-tc-write.cexpected \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-empty-config \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-unrecognized \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-variables-corner-cases-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-device \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-vlanid \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-physdev \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-trailing-spaces \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-dynamic-wep-leap \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-hidden \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-agent \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-always-ask \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-always \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-default \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-missing \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-never \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-auto \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-bad-hex \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-hex \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-hex \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-quoted \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-104-ascii \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-40-ascii \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-adhoc \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-agent-keys \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-eap-ttls-chap \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-no-keys \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-passphrase \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-tls \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-adhoc \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-hex \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1X-subj-matches \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \
2017-10-31 07:43:59 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-password-raw \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-agent \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-always \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-auto-negotiate-on \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ctc-static \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-plus-ip \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-send-hostname \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp6-only \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcpv6-hostname-fallback \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway-ignore \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-3 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-4 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-never-default \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-obsolete-gateway-n \
2016-10-17 13:50:56 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-qeth-static \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-shared-plus-ip \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-bootproto \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-16 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-24 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-8 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes-legacy \
2016-09-21 13:18:19 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-unknown-ethtool-opt \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-wake-on-lan \
2016-11-01 08:15:15 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1.expected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-2.expected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-3 \
2016-11-01 20:48:57 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-3.expected \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4 \
2017-04-25 18:02:29 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected \
2017-05-25 12:07:28 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-104-ascii \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-40-ascii \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-adhoc \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-eap-ttls-chap \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-passphrase \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-tls \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-ttls-tls \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-adhoc \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-hex \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-8021x-peap-mschapv2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-defroute-no-gatewaydev-yes \
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway \
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway-ignore \
src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-never-default \
src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-static-routes-legacy \
src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes \
src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes-legacy \
src/settings/plugins/ifcfg-rh/tests/network-scripts/route6-test-wired-ipv6-manual \
src/settings/plugins/ifcfg-rh/tests/network-scripts/test1_key_and_cert.pem \
src/settings/plugins/ifcfg-rh/tests/network-scripts/test_ca_cert.pem \
$( 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.
src_settings_plugins_ifcfg_rh_tests_network_scripts_alias_files = \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:2 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem0:99 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem1:1 \
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem2 \
2017-02-20 23:37:41 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem2:1 \
2017-02-20 19:51:45 +00:00
src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-aliasem3 \
src/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 :
@for f in $( src_settings_plugins_ifcfg_rh_tests_network_scripts_alias_files) ; do \
cp $( abs_srcdir) /$$ f $( distdir) /src/settings/plugins/ifcfg-rh/tests/network-scripts/; \
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
i f C O N F I G _ P L U G I N _ I F C F G _ R H
2016-10-15 20:28:34 +00:00
dbusservice_DATA += src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf
2017-01-17 23:10:29 +00:00
e n d i f
2016-10-15 20:28:34 +00:00
EXTRA_DIST += \
src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.conf \
2018-01-08 12:06:54 +00:00
src/settings/plugins/ifcfg-rh/nm-ifcfg-rh.xml \
src/settings/plugins/ifcfg-rh/meson.build \
src/settings/plugins/ifcfg-rh/tests/meson.build
2016-10-15 20:28:34 +00:00
2016-10-15 20:28:34 +00:00
###############################################################################
# src/settings/plugins/ifupdown
###############################################################################
i f C O N F I G _ P L U G I N _ I F U P D O W N
2016-11-10 16:06:37 +00:00
core_plugins += src/settings/plugins/ifupdown/libnm-settings-plugin-ifupdown.la
2016-10-15 20:28:34 +00:00
noinst_LTLIBRARIES += src/settings/plugins/ifupdown/libnms-ifupdown-core.la
src_settings_plugins_ifupdown_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-15 20:28:34 +00:00
$( GLIB_CFLAGS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_CFLAGS) \
2016-10-15 20:28:34 +00:00
-DSYSCONFDIR= \" $( sysconfdir) \"
src_settings_plugins_ifupdown_libnms_ifupdown_core_la_SOURCES = \
src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.c \
src/settings/plugins/ifupdown/nms-ifupdown-interface-parser.h \
src/settings/plugins/ifupdown/nms-ifupdown-parser.c \
src/settings/plugins/ifupdown/nms-ifupdown-parser.h
src_settings_plugins_ifupdown_libnms_ifupdown_core_la_CPPFLAGS = $( src_settings_plugins_ifupdown_cppflags)
2017-03-12 14:54:02 +00:00
src_settings_plugins_ifupdown_libnms_ifupdown_core_la_LIBADD = \
$( LIBUDEV_LIBS)
2016-10-15 20:28:34 +00:00
src_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_SOURCES = \
src/settings/plugins/ifupdown/nms-ifupdown-connection.c \
src/settings/plugins/ifupdown/nms-ifupdown-connection.h \
src/settings/plugins/ifupdown/nms-ifupdown-plugin.c \
src/settings/plugins/ifupdown/nms-ifupdown-plugin.h
src_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_CPPFLAGS = $( src_settings_plugins_ifupdown_cppflags)
src_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_LDFLAGS = \
-module -avoid-version \
2016-11-22 17:25:03 +00:00
-Wl,--version-script= " $( srcdir) /linker-script-settings.ver "
2016-10-15 20:28:34 +00:00
src_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_LIBADD = \
2017-03-12 14:54:02 +00:00
src/settings/plugins/ifupdown/libnms-ifupdown-core.la \
$( LIBUDEV_LIBS)
2016-10-15 20:28:34 +00:00
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ifupdown_libnm_settings_plugin_ifupdown_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
check-local-symbols-settings-ifupdown : src /settings /plugins /ifupdown /libnm -settings -plugin -ifupdown .la
$( call check_so_symbols,$( builddir) /src/settings/plugins/ifupdown/.libs/libnm-settings-plugin-ifupdown.so)
check_local += check-local-symbols-settings-ifupdown
2016-10-17 17:10:03 +00:00
###############################################################################
check_programs += src/settings/plugins/ifupdown/tests/test-ifupdown
src_settings_plugins_ifupdown_tests_test_ifupdown_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /src \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-17 17:10:03 +00:00
$( GLIB_CFLAGS) \
-DTEST_ENI_DIR= \" $( abs_srcdir) /src/settings/plugins/ifupdown/tests\"
src_settings_plugins_ifupdown_tests_test_ifupdown_LDFLAGS = \
2017-04-07 11:48:43 +00:00
$( GLIB_LDFLAGS) \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-17 17:10:03 +00:00
src_settings_plugins_ifupdown_tests_test_ifupdown_LDADD = \
src/settings/plugins/ifupdown/libnms-ifupdown-core.la \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-17 17:10:03 +00:00
2017-04-07 10:37:52 +00:00
$(src_settings_plugins_ifupdown_tests_test_ifupdown_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-15 20:28:34 +00:00
e n d i f
2016-10-17 17:10:03 +00:00
EXTRA_DIST += \
src/settings/plugins/ifupdown/tests/test1 \
src/settings/plugins/ifupdown/tests/test2 \
src/settings/plugins/ifupdown/tests/test3 \
src/settings/plugins/ifupdown/tests/test4 \
src/settings/plugins/ifupdown/tests/test5 \
src/settings/plugins/ifupdown/tests/test6 \
src/settings/plugins/ifupdown/tests/test7 \
src/settings/plugins/ifupdown/tests/test8 \
src/settings/plugins/ifupdown/tests/test9 \
src/settings/plugins/ifupdown/tests/test11 \
src/settings/plugins/ifupdown/tests/test12 \
src/settings/plugins/ifupdown/tests/test13 \
src/settings/plugins/ifupdown/tests/test14 \
src/settings/plugins/ifupdown/tests/test15 \
src/settings/plugins/ifupdown/tests/test16 \
src/settings/plugins/ifupdown/tests/test17-wired-static-verify-ip4 \
src/settings/plugins/ifupdown/tests/test18-wired-static-verify-ip6 \
src/settings/plugins/ifupdown/tests/test19-wired-static-verify-ip4-plen \
src/settings/plugins/ifupdown/tests/test20-source-stanza \
src/settings/plugins/ifupdown/tests/test20-source-stanza.eth0 \
src/settings/plugins/ifupdown/tests/test20-source-stanza.eth1 \
src/settings/plugins/ifupdown/tests/test21-source-dir-stanza \
2018-01-08 12:06:54 +00:00
src/settings/plugins/ifupdown/tests/test21-source-dir-stanza.d \
src/settings/plugins/ifupdown/meson.build \
src/settings/plugins/ifupdown/tests/meson.build
###############################################################################
# src/devices
###############################################################################
EXTRA_DIST += \
src/devices/meson.build
2016-10-17 17:10:03 +00:00
2016-10-15 20:28:34 +00:00
###############################################################################
# src/devices/adsl
###############################################################################
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/adsl/libnm-device-plugin-adsl.la
2016-10-15 20:28:34 +00:00
src_devices_adsl_libnm_device_plugin_adsl_la_SOURCES = \
src/devices/adsl/nm-atm-manager.c \
src/devices/adsl/nm-device-adsl.c \
src/devices/adsl/nm-device-adsl.h
src_devices_adsl_libnm_device_plugin_adsl_la_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2017-01-29 10:09:07 +00:00
$( GLIB_CFLAGS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_CFLAGS)
2016-10-15 20:28:34 +00:00
src_devices_adsl_libnm_device_plugin_adsl_la_LDFLAGS = \
-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
src_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
check-local-devices-adsl : src /devices /adsl /libnm -device -plugin -adsl .la
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/adsl/.libs/libnm-device-plugin-adsl.so " $( srcdir) /linker-script-devices.ver "
2016-10-15 20:28:34 +00:00
$( call check_so_symbols,$( builddir) /src/devices/adsl/.libs/libnm-device-plugin-adsl.so)
check_local += check-local-devices-adsl
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/devices/adsl/meson.build
2016-10-18 06:39:30 +00:00
###############################################################################
# src/devices/wwan
###############################################################################
i f W I T H _ M O D E M _ M A N A G E R _ 1
src_devices_wwan_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-18 06:39:30 +00:00
$( GLIB_CFLAGS) \
$( LIBSYSTEMD_CFLAGS) \
$( MM_GLIB_CFLAGS)
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/wwan/libnm-wwan.la
2016-10-18 06:39:30 +00:00
src_devices_wwan_libnm_wwan_la_SOURCES = \
src/devices/wwan/nm-modem-broadband.c \
src/devices/wwan/nm-modem-broadband.h \
src/devices/wwan/nm-modem-manager.c \
src/devices/wwan/nm-modem-manager.h \
src/devices/wwan/nm-modem.c \
src/devices/wwan/nm-modem.h
i f W I T H _ O F O N O
src_devices_wwan_libnm_wwan_la_SOURCES += \
src/devices/wwan/nm-modem-ofono.c \
src/devices/wwan/nm-modem-ofono.h
e n d i f
src_devices_wwan_libnm_wwan_la_CPPFLAGS = $( src_devices_wwan_cppflags)
src_devices_wwan_libnm_wwan_la_LDFLAGS = \
-avoid-version \
-Wl,--version-script= " $( srcdir) /src/devices/wwan/libnm-wwan.ver "
src_devices_wwan_libnm_wwan_la_LIBADD = \
$( GLIB_LIBS) \
$( LIBSYSTEMD_LIBS) \
$( MM_GLIB_LIBS)
2017-03-28 20:37:19 +00:00
$(src_devices_wwan_libnm_wwan_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-01-20 16:07:50 +00:00
EXTRA_src_devices_wwan_libnm_wwan_la_DEPENDENCIES = \
src/devices/wwan/libnm-wwan.ver
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/wwan/libnm-device-plugin-wwan.la
2016-10-18 06:39:30 +00:00
src_devices_wwan_libnm_device_plugin_wwan_la_SOURCES = \
src/devices/wwan/nm-wwan-factory.c \
src/devices/wwan/nm-device-modem.c \
src/devices/wwan/nm-device-modem.h
src_devices_wwan_libnm_device_plugin_wwan_la_CPPFLAGS = $( src_devices_wwan_cppflags)
src_devices_wwan_libnm_device_plugin_wwan_la_LDFLAGS = \
-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
src_devices_wwan_libnm_device_plugin_wwan_la_LIBADD = \
src/devices/wwan/libnm-wwan.la \
$( GLIB_LIBS)
check-local-devices-wwan : src /devices /wwan /libnm -device -plugin -wwan .la src /devices /wwan /libnm -wwan .la
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/wwan/.libs/libnm-device-plugin-wwan.so " $( srcdir) /linker-script-devices.ver "
2016-10-18 06:39:30 +00:00
$( call check_so_symbols,$( builddir) /src/devices/wwan/.libs/libnm-device-plugin-wwan.so)
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/wwan/.libs/libnm-wwan.so " $( srcdir) /src/devices/wwan/libnm-wwan.ver "
2016-10-18 06:39:30 +00:00
$( call check_so_symbols,$( builddir) /src/devices/wwan/.libs/libnm-wwan.so)
check_local += check-local-devices-wwan
e n d i f
EXTRA_DIST += \
2018-01-08 12:06:54 +00:00
src/devices/wwan/libnm-wwan.ver \
src/devices/wwan/meson.build
2016-10-18 06:39:30 +00:00
2016-10-18 06:50:40 +00:00
###############################################################################
# src/devices/bluetooth
###############################################################################
i f W I T H _ M O D E M _ M A N A G E R _ 1
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/bluetooth/libnm-device-plugin-bluetooth.la
2016-10-18 06:50:40 +00:00
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_SOURCES = \
src/devices/bluetooth/nm-bluez-manager.c \
src/devices/bluetooth/nm-bluez-common.h \
src/devices/bluetooth/nm-bluez-device.c \
src/devices/bluetooth/nm-bluez-device.h \
src/devices/bluetooth/nm-bluez4-adapter.c \
src/devices/bluetooth/nm-bluez4-adapter.h \
src/devices/bluetooth/nm-bluez4-manager.c \
src/devices/bluetooth/nm-bluez4-manager.h \
src/devices/bluetooth/nm-bluez5-manager.c \
src/devices/bluetooth/nm-bluez5-manager.h \
src/devices/bluetooth/nm-bt-error.h \
src/devices/bluetooth/nm-bt-error.c \
\
src/devices/bluetooth/nm-device-bt.c \
src/devices/bluetooth/nm-device-bt.h
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-18 06:50:40 +00:00
$( GLIB_CFLAGS)
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_LDFLAGS = \
-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
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_LIBADD = \
src/devices/wwan/libnm-wwan.la \
2017-03-12 14:54:02 +00:00
$( GLIB_LIBS)
2016-10-18 06:50:40 +00:00
i f W I T H _ B L U E Z 5 _ D U N
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_CPPFLAGS += $( BLUEZ5_CFLAGS)
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_SOURCES += \
src/devices/bluetooth/nm-bluez5-dun.c \
src/devices/bluetooth/nm-bluez5-dun.h
src_devices_bluetooth_libnm_device_plugin_bluetooth_la_LIBADD += $( BLUEZ5_LIBS)
e n d i f
check-local-devices-bluetooth : src /devices /bluetooth /libnm -device -plugin -bluetooth .la
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/bluetooth/.libs/libnm-device-plugin-bluetooth.so " $( srcdir) /linker-script-devices.ver "
2016-10-18 06:50:40 +00:00
$( call check_so_symbols,$( builddir) /src/devices/bluetooth/.libs/libnm-device-plugin-bluetooth.so)
check_local += check-local-devices-bluetooth
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/devices/bluetooth/meson.build
2016-10-18 07:06:00 +00:00
###############################################################################
# src/devices/wifi
###############################################################################
i f W I T H _ W I F I
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/wifi/libnm-device-plugin-wifi.la
2016-10-18 07:06:00 +00:00
src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES = \
src/devices/wifi/nm-wifi-factory.c \
src/devices/wifi/nm-device-wifi.c \
src/devices/wifi/nm-device-wifi.h \
src/devices/wifi/nm-wifi-ap.c \
src/devices/wifi/nm-wifi-ap.h \
src/devices/wifi/nm-wifi-utils.c \
src/devices/wifi/nm-wifi-utils.h \
core/dbus: rework D-Bus implementation to use lower layer GDBusConnection API
Previously, we used the generated GDBusInterfaceSkeleton types and glued
them via the NMExportedObject base class to our NM types. We also used
GDBusObjectManagerServer.
Don't do that anymore. The resulting code was more complicated despite (or
because?) using generated classes. It was hard to understand, complex, had
ordering-issues, and had a runtime and memory overhead.
This patch refactors this entirely and uses the lower layer API GDBusConnection
directly. It replaces the generated code, GDBusInterfaceSkeleton, and
GDBusObjectManagerServer. All this is now done by NMDbusObject and NMDBusManager
and static descriptor instances of type GDBusInterfaceInfo.
This adds a net plus of more then 1300 lines of hand written code. I claim
that this implementation is easier to understand. Note that previously we
also required extensive and complex glue code to bind our objects to the
generated skeleton objects. Instead, now glue our objects directly to
GDBusConnection. The result is more immediate and gets rid of layers of
code in between.
Now that the D-Bus glue us more under our control, we can address issus and
bottlenecks better, instead of adding code to bend the generated skeletons
to our needs.
Note that the current implementation now only supports one D-Bus connection.
That was effectively the case already, although there were places (and still are)
where the code pretends it could also support connections from a private socket.
We dropped private socket support mainly because it was unused, untested and
buggy, but also because GDBusObjectManagerServer could not export the same
objects on multiple connections. Now, it would be rather straight forward to
fix that and re-introduce ObjectManager on each private connection. But this
commit doesn't do that yet, and the new code intentionally supports only one
D-Bus connection.
Also, the D-Bus startup was simplified. There is no retry, either nm_dbus_manager_start()
succeeds, or it detects the initrd case. In the initrd case, bus manager never tries to
connect to D-Bus. Since the initrd scenario is not yet used/tested, this is good enough
for the moment. It could be easily extended later, for example with polling whether the
system bus appears (like was done previously). Also, restart of D-Bus daemon isn't
supported either -- just like before.
Note how NMDBusManager now implements the ObjectManager D-Bus interface
directly.
Also, this fixes race issues in the server, by no longer delaying
PropertiesChanged signals. NMExportedObject would collect changed
properties and send the signal out in idle_emit_properties_changed()
on idle. This messes up the ordering of change events w.r.t. other
signals and events on the bus. Note that not only NMExportedObject
messed up the ordering. Also the generated code would hook into
notify() and process change events in and idle handle, exhibiting the
same ordering issue too.
No longer do that. PropertiesChanged signals will be sent right away
by hooking into dispatch_properties_changed(). This means, changing
a property in quick succession will no longer be combined and is
guaranteed to emit signals for each individual state. Quite possibly
we emit now more PropertiesChanged signals then before.
However, we are now able to group a set of changes by using standard
g_object_freeze_notify()/g_object_thaw_notify(). We probably should
make more use of that.
Also, now that our signals are all handled in the right order, we
might find places where we still emit them in the wrong order. But that
is then due to the order in which our GObjects emit signals, not due
to an ill behavior of the D-Bus glue. Possibly we need to identify
such ordering issues and fix them.
Numbers (for contrib/rpm --without debug on x86_64):
- the patch changes the code size of NetworkManager by
- 2809360 bytes
+ 2537528 bytes (-9.7%)
- Runtime measurements are harder because there is a large variance
during testing. In other words, the numbers are not reproducible.
Currently, the implementation performs no caching of GVariants at all,
but it would be rather simple to add it, if that turns out to be
useful.
Anyway, without strong claim, it seems that the new form tends to
perform slightly better. That would be no surprise.
$ time (for i in {1..1000}; do nmcli >/dev/null || break; echo -n .; done)
- real 1m39.355s
+ real 1m37.432s
$ time (for i in {1..2000}; do busctl call org.freedesktop.NetworkManager /org/freedesktop org.freedesktop.DBus.ObjectManager GetManagedObjects > /dev/null || break; echo -n .; done)
- real 0m26.843s
+ real 0m25.281s
- Regarding RSS size, just looking at the processes in similar
conditions, doesn't give a large difference. On my system they
consume about 19MB RSS. It seems that the new version has a
slightly smaller RSS size.
- 19356 RSS
+ 18660 RSS
2018-02-26 12:51:52 +00:00
src/devices/wifi/nm-wifi-common.c \
src/devices/wifi/nm-wifi-common.h \
2016-10-18 07:06:00 +00:00
src/devices/wifi/nm-device-olpc-mesh.c \
src/devices/wifi/nm-device-olpc-mesh.h
2017-12-09 15:28:10 +00:00
i f W I T H _ I W D
src_devices_wifi_libnm_device_plugin_wifi_la_SOURCES += \
src/devices/wifi/nm-device-iwd.c \
2017-12-09 15:28:11 +00:00
src/devices/wifi/nm-device-iwd.h \
src/devices/wifi/nm-iwd-manager.c \
src/devices/wifi/nm-iwd-manager.h
2017-12-09 15:28:10 +00:00
e n d i f
2016-10-18 07:06:00 +00:00
src_devices_wifi_libnm_device_plugin_wifi_la_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-18 07:06:00 +00:00
$( GLIB_CFLAGS)
src_devices_wifi_libnm_device_plugin_wifi_la_LDFLAGS = \
-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
src_devices_wifi_libnm_device_plugin_wifi_la_LIBADD = \
2017-03-12 14:54:02 +00:00
$( GLIB_LIBS)
2016-10-18 07:06:00 +00:00
check-local-devices-wifi : src /devices /wifi /libnm -device -plugin -wifi .la
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/wifi/.libs/libnm-device-plugin-wifi.so " $( srcdir) /linker-script-devices.ver "
2016-10-18 07:06:00 +00:00
$( call check_so_symbols,$( builddir) /src/devices/wifi/.libs/libnm-device-plugin-wifi.so)
check_local += check-local-devices-wifi
2016-10-18 07:10:44 +00:00
check_programs += src/devices/wifi/tests/test-general
src_devices_wifi_tests_test_general_SOURCES = \
src/devices/wifi/tests/test-general.c \
src/devices/wifi/nm-wifi-ap.c \
src/devices/wifi/nm-wifi-ap.h \
src/devices/wifi/nm-wifi-utils.c \
src/devices/wifi/nm-wifi-utils.h
src_devices_wifi_tests_test_general_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /src \
-I$( builddir) /src \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-10-18 07:10:44 +00:00
$( GLIB_CFLAGS)
2016-10-22 12:54:56 +00:00
src_devices_wifi_tests_test_general_LDADD = src/libNetworkManagerTest.la
2018-02-07 10:10:31 +00:00
src_devices_wifi_tests_test_general_LDFLAGS = $( SANITIZER_EXEC_LDFLAGS)
2016-10-18 07:10:44 +00:00
2017-03-28 20:37:19 +00:00
$(src_devices_wifi_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 07:06:00 +00:00
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/devices/wifi/meson.build \
src/devices/wifi/tests/meson.build
2016-10-18 07:06:00 +00:00
###############################################################################
# src/devices/team
###############################################################################
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
i f W I T H _ T E A M D C T L
2016-10-18 07:06:00 +00:00
2016-11-10 16:06:37 +00:00
core_plugins += src/devices/team/libnm-device-plugin-team.la
2016-10-18 07:06:00 +00:00
src_devices_team_libnm_device_plugin_team_la_SOURCES = \
src/devices/team/nm-team-factory.c \
src/devices/team/nm-device-team.c \
src/devices/team/nm-device-team.h
src_devices_team_libnm_device_plugin_team_la_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2016-11-22 17:23:12 +00:00
$( LIBTEAMDCTL_CFLAGS) \
2017-02-21 15:26:49 +00:00
$( JANSSON_CFLAGS) \
2016-10-18 07:06:00 +00:00
$( GLIB_CFLAGS)
src_devices_team_libnm_device_plugin_team_la_LDFLAGS = \
-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
src_devices_team_libnm_device_plugin_team_la_LIBADD = \
$( LIBTEAMDCTL_LIBS) \
2017-02-21 15:26:49 +00:00
$( JANSSON_LIBS) \
2017-03-12 14:54:02 +00:00
$( GLIB_LIBS)
2016-10-18 07:06:00 +00:00
check-local-devices-team : src /devices /team /libnm -device -plugin -team .la
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/team/.libs/libnm-device-plugin-team.so " $( srcdir) /linker-script-devices.ver "
2016-10-18 07:06:00 +00:00
$( call check_so_symbols,$( builddir) /src/devices/team/.libs/libnm-device-plugin-team.so)
check_local += check-local-devices-team
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/devices/team/meson.build
2017-08-01 16:27:22 +00:00
###############################################################################
# src/devices/ovs
###############################################################################
i f W I T H _ O P E N V S W I T C H
i f H A V E _ S Y S T E M D
systemdnmunitdir = $( systemdsystemunitdir) /NetworkManager.service.d
systemdnmunit_DATA = \
data/NetworkManager-ovs.conf
e n d i f
core_plugins += src/devices/ovs/libnm-device-plugin-ovs.la
src_devices_ovs_libnm_device_plugin_ovs_la_SOURCES = \
src/devices/ovs/nm-ovsdb.c \
src/devices/ovs/nm-ovsdb.h \
src/devices/ovs/nm-ovs-factory.c \
src/devices/ovs/nm-device-ovs-interface.c \
src/devices/ovs/nm-device-ovs-interface.h \
src/devices/ovs/nm-device-ovs-port.c \
src/devices/ovs/nm-device-ovs-port.h \
src/devices/ovs/nm-device-ovs-bridge.c \
src/devices/ovs/nm-device-ovs-bridge.h
src_devices_ovs_libnm_device_plugin_ovs_la_CPPFLAGS = \
-I$( srcdir) /src \
-I$( builddir) /src \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm-core \
\
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_DAEMON \
2017-08-01 16:27:22 +00:00
-DRUNSTATEDIR= \" $( runstatedir) \" \
\
$( JANSSON_CFLAGS) \
$( GLIB_CFLAGS)
src_devices_ovs_libnm_device_plugin_ovs_la_LDFLAGS = \
-module -avoid-version \
-Wl,--version-script= " $( srcdir) /linker-script-devices.ver "
src_devices_ovs_libnm_device_plugin_ovs_la_LIBADD = \
$( JANSSON_LIBS) \
$( GLIB_LIBS)
check-local-devices-ovs : src /devices /ovs /libnm -device -plugin -ovs .la
$( srcdir) /tools/check-exports.sh $( builddir) /src/devices/ovs/.libs/libnm-device-plugin-ovs.so " $( srcdir) /linker-script-devices.ver "
$( call check_so_symbols,$( builddir) /src/devices/ovs/.libs/libnm-device-plugin-ovs.so)
e n d i f
2017-10-31 08:11:43 +00:00
EXTRA_DIST += \
2018-01-08 12:06:54 +00:00
data/NetworkManager-ovs.conf \
src/devices/ovs/meson.build
2017-10-31 08:11:43 +00:00
2016-10-18 07:06:00 +00:00
###############################################################################
2016-11-20 23:35:32 +00:00
# src/dnsmasq/tests
2016-10-18 07:06:00 +00:00
###############################################################################
2016-11-20 23:35:32 +00:00
check_programs += src/dnsmasq/tests/test-dnsmasq-utils
2016-10-18 07:06:00 +00:00
2016-11-20 23:35:32 +00:00
src_dnsmasq_tests_test_dnsmasq_utils_CPPFLAGS = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-10-18 07:06:00 +00:00
-DTESTDIR= " \" $( abs_srcdir) \" "
2016-11-20 23:35:32 +00:00
src_dnsmasq_tests_test_dnsmasq_utils_LDADD = \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-18 07:06:00 +00:00
2018-02-07 10:10:31 +00:00
src_dnsmasq_tests_test_dnsmasq_utils_LDFLAGS = \
$( SANITIZER_EXEC_LDFLAGS)
2017-03-28 20:37:19 +00:00
$(src_dnsmasq_tests_test_dnsmasq_utils_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/dnsmasq/tests/meson.build
2016-10-18 07:36:53 +00:00
###############################################################################
# src/platform/tests
###############################################################################
src_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
src_platform_tests_libadd = \
2016-10-22 13:44:19 +00:00
src/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 += \
2016-10-18 07:36:53 +00:00
src/platform/tests/monitor
check_programs += \
src/platform/tests/test-link-fake \
src/platform/tests/test-link-linux \
src/platform/tests/test-address-fake \
src/platform/tests/test-address-linux \
src/platform/tests/test-general \
src/platform/tests/test-nmp-object \
src/platform/tests/test-route-fake \
src/platform/tests/test-route-linux \
src/platform/tests/test-cleanup-fake \
src/platform/tests/test-cleanup-linux
2016-10-22 14:56:37 +00:00
src_platform_tests_monitor_CPPFLAGS = $( src_tests_cppflags)
2016-10-18 07:36:53 +00:00
src_platform_tests_monitor_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_monitor_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_link_fake_SOURCES = src/platform/tests/test-link.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_link_fake_CPPFLAGS = $( src_tests_cppflags_fake)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_link_fake_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_link_fake_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_link_linux_SOURCES = src/platform/tests/test-link.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_link_linux_CPPFLAGS = $( src_tests_cppflags_linux)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_link_linux_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_link_linux_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_address_fake_SOURCES = src/platform/tests/test-address.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_address_fake_CPPFLAGS = $( src_tests_cppflags_fake)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_address_fake_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_address_fake_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_address_linux_SOURCES = src/platform/tests/test-address.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_address_linux_CPPFLAGS = $( src_tests_cppflags_linux)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_address_linux_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_address_linux_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_route_fake_SOURCES = src/platform/tests/test-route.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_route_fake_CPPFLAGS = $( src_tests_cppflags_fake)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_route_fake_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_route_fake_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_route_linux_SOURCES = src/platform/tests/test-route.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_route_linux_CPPFLAGS = $( src_tests_cppflags_linux)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_route_linux_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_route_linux_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_cleanup_fake_SOURCES = src/platform/tests/test-cleanup.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_cleanup_fake_CPPFLAGS = $( src_tests_cppflags_fake)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_cleanup_fake_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_cleanup_fake_LDADD = $( src_platform_tests_libadd)
src_platform_tests_test_cleanup_linux_SOURCES = src/platform/tests/test-cleanup.c
2016-10-22 14:56:37 +00:00
src_platform_tests_test_cleanup_linux_CPPFLAGS = $( src_tests_cppflags_linux)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_cleanup_linux_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_cleanup_linux_LDADD = $( src_platform_tests_libadd)
2016-10-22 14:56:37 +00:00
src_platform_tests_test_nmp_object_CPPFLAGS = $( src_tests_cppflags)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_nmp_object_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_nmp_object_LDADD = src/libNetworkManagerTest.la
2016-10-22 14:56:37 +00:00
src_platform_tests_test_general_CPPFLAGS = $( src_tests_cppflags)
2016-10-18 07:36:53 +00:00
src_platform_tests_test_general_LDFLAGS = $( src_platform_tests_ldflags)
src_platform_tests_test_general_LDADD = src/libNetworkManagerTest.la
2017-03-28 20:37:19 +00:00
$(src_platform_tests_monitor_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_link_fake_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_link_linux_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_address_fake_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_address_linux_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_route_fake_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_route_linux_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_cleanup_fake_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_cleanup_linux_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_nmp_object_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_platform_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/platform/tests/meson.build
2016-10-18 07:36:53 +00:00
###############################################################################
# src/devices/tests
###############################################################################
src_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 += \
src/devices/tests/test-lldp \
2018-04-05 13:19:27 +00:00
src/devices/tests/test-acd
2016-10-18 07:36:53 +00:00
2016-10-22 14:56:37 +00:00
src_devices_tests_test_lldp_CPPFLAGS = $( src_tests_cppflags)
2016-10-18 07:36:53 +00:00
src_devices_tests_test_lldp_LDFLAGS = $( src_devices_tests_ldflags)
src_devices_tests_test_lldp_LDADD = \
2016-10-22 13:44:19 +00:00
src/libNetworkManagerTest.la
2016-10-18 07:36:53 +00:00
2018-04-05 13:19:27 +00:00
src_devices_tests_test_acd_CPPFLAGS = $( src_tests_cppflags)
src_devices_tests_test_acd_LDFLAGS = $( src_devices_tests_ldflags)
src_devices_tests_test_acd_LDADD = \
2016-10-22 13:44:19 +00:00
src/libNetworkManagerTest.la
2016-10-18 07:36:53 +00:00
2017-03-28 20:37:19 +00:00
$(src_devices_tests_test_lldp_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-04-05 13:19:27 +00:00
$(src_devices_tests_test_acd_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-03-28 20:37:19 +00:00
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/devices/tests/meson.build
2016-10-18 07:36:53 +00:00
###############################################################################
2016-10-13 11:06:25 +00:00
# src/ndisc/tests
2016-10-18 07:36:53 +00:00
###############################################################################
2016-10-13 11:06:25 +00:00
src_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
2016-10-13 11:06:25 +00:00
src_ndisc_tests_ldadd = \
2016-10-18 07:36:53 +00:00
src/libNetworkManagerTest.la \
$( GLIB_LIBS)
2016-10-13 11:06:25 +00:00
check_programs += src/ndisc/tests/test-ndisc-fake
check_programs_norun += src/ndisc/tests/test-ndisc-linux
2016-10-18 07:36:53 +00:00
2016-10-13 11:06:25 +00:00
src_ndisc_tests_test_ndisc_linux_CPPFLAGS = $( src_tests_cppflags)
2018-02-07 10:10:31 +00:00
src_ndisc_tests_test_ndisc_linux_LDFLAGS = $( src_ndisc_tests_ldflags)
2016-10-13 11:06:25 +00:00
src_ndisc_tests_test_ndisc_linux_LDADD = $( src_ndisc_tests_ldadd)
2016-10-18 07:36:53 +00:00
2016-10-13 11:06:25 +00:00
src_ndisc_tests_test_ndisc_fake_CPPFLAGS = $( src_tests_cppflags)
2018-02-07 10:10:31 +00:00
src_ndisc_tests_test_ndisc_fake_LDFLAGS = $( src_ndisc_tests_ldflags)
2016-10-13 11:06:25 +00:00
src_ndisc_tests_test_ndisc_fake_LDADD = $( src_ndisc_tests_ldadd)
2016-10-18 07:36:53 +00:00
2017-03-28 20:37:19 +00:00
$(src_ndisc_tests_test_ndisc_linux_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_ndisc_tests_test_ndisc_fake_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
src/ndisc/tests/meson.build
2016-10-18 09:29:57 +00:00
###############################################################################
2016-11-20 23:24:54 +00:00
# src/supplicant/tests
2016-10-18 09:29:57 +00:00
###############################################################################
2016-11-20 23:24:54 +00:00
check_programs += src/supplicant/tests/test-supplicant-config
2016-10-18 09:29:57 +00:00
2016-11-20 23:24:54 +00:00
src_supplicant_tests_test_supplicant_config_CPPFLAGS = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-11-20 23:24:54 +00:00
-DTEST_CERT_DIR= \" $( abs_srcdir) /src/supplicant/tests/certs\"
2016-10-18 09:29:57 +00:00
2016-11-20 23:24:54 +00:00
src_supplicant_tests_test_supplicant_config_LDADD = \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-18 09:29:57 +00:00
2018-02-07 10:10:31 +00:00
src_supplicant_tests_test_supplicant_config_LDFLAGS = \
$( SANITIZER_EXEC_LDFLAGS)
2017-03-28 20:37:19 +00:00
$(src_supplicant_tests_test_supplicant_config_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 09:29:57 +00:00
EXTRA_DIST += \
2016-11-20 23:24:54 +00:00
src/supplicant/tests/certs/test-ca-cert.pem \
2018-01-08 12:06:54 +00:00
src/supplicant/tests/certs/test-cert.p12 \
src/supplicant/tests/meson.build
2016-10-18 09:29:57 +00:00
2016-10-18 09:54:58 +00:00
###############################################################################
# src/tests/config
###############################################################################
check_programs += src/tests/config/test-config
src_tests_config_test_config_SOURCES = \
src/tests/config/nm-test-device.c \
src/tests/config/nm-test-device.h \
src/tests/config/test-config.c
src_tests_config_test_config_CPPFLAGS = \
2016-10-22 14:56:37 +00:00
$( src_tests_cppflags) \
2016-10-18 09:54:58 +00:00
-DSRCDIR= \" " $( abs_srcdir) /src/tests/config " \" \
-DBUILDDIR= \" " $( abs_builddir) /src/tests/config " \"
src_tests_config_test_config_LDADD = \
src/libNetworkManagerTest.la
2018-02-07 10:10:31 +00:00
src_tests_config_test_config_LDFLAGS = \
$( SANITIZER_EXEC_LDFLAGS)
2017-03-28 20:37:19 +00:00
$(src_tests_config_test_config_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 09:54:58 +00:00
EXTRA_DIST += \
src/tests/config/NetworkManager.conf \
src/tests/config/NetworkManager.state \
src/tests/config/bad.conf \
src/tests/config/global-dns-invalid.conf \
src/tests/config/conf.d/00-overrides.conf \
src/tests/config/conf.d/10-more.conf \
src/tests/config/conf.d/20-config-enable-1.conf \
2018-01-08 12:06:54 +00:00
src/tests/config/conf.d/90-last.conf \
src/tests/config/meson.build
2016-10-18 09:54:58 +00:00
2016-10-18 09:54:58 +00:00
###############################################################################
# src/tests
###############################################################################
src_tests_ldflags = \
2018-02-07 10:10:31 +00:00
$( CODE_COVERAGE_LDFLAGS) \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-18 09:54:58 +00:00
src_tests_ldadd = \
2016-10-22 12:54:56 +00:00
src/libNetworkManagerTest.la
2016-10-18 09:54:58 +00:00
check_programs += \
src/tests/test-general \
src/tests/test-general-with-expect \
src/tests/test-ip4-config \
src/tests/test-ip6-config \
src/tests/test-dcb \
src/tests/test-systemd \
src/tests/test-wired-defname \
src/tests/test-utils
src_tests_test_ip4_config_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_ip4_config_LDFLAGS = $( src_tests_ldflags)
src_tests_test_ip4_config_LDADD = $( src_tests_ldadd)
src_tests_test_ip6_config_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_ip6_config_LDFLAGS = $( src_tests_ldflags)
src_tests_test_ip6_config_LDADD = $( src_tests_ldadd)
src_tests_test_dcb_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_dcb_LDFLAGS = $( src_tests_ldflags)
src_tests_test_dcb_LDADD = $( src_tests_ldadd)
src_tests_test_general_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_general_LDFLAGS = $( src_tests_ldflags)
src_tests_test_general_LDADD = $( src_tests_ldadd)
src_tests_test_general_with_expect_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_general_with_expect_LDFLAGS = $( src_tests_ldflags)
src_tests_test_general_with_expect_LDADD = $( src_tests_ldadd)
src_tests_test_wired_defname_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_wired_defname_LDFLAGS = $( src_tests_ldflags)
src_tests_test_wired_defname_LDADD = $( src_tests_ldadd)
src_tests_test_utils_CPPFLAGS = $( src_tests_cppflags)
src_tests_test_utils_LDFLAGS = $( src_tests_ldflags)
src_tests_test_utils_LDADD = $( src_tests_ldadd)
2017-03-28 20:37:19 +00:00
$(src_tests_test_ip4_config_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_ip6_config_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_dcb_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_general_with_expect_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_wired_defname_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(src_tests_test_utils_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 09:54:58 +00:00
2018-01-02 12:37:06 +00:00
src_tests_test_systemd_CPPFLAGS = \
$( src_libsystemd_nm_la_cppflags) \
-DNETWORKMANAGER_COMPILATION_TEST
2017-10-13 15:16:23 +00:00
src_tests_test_systemd_SOURCES = \
2017-11-16 10:57:18 +00:00
shared/nm-utils/siphash24.c \
2017-10-13 15:16:23 +00:00
src/tests/test-systemd.c
2016-10-18 09:54:58 +00:00
src_tests_test_systemd_LDADD = \
src/libsystemd-nm.la \
$( src_libsystemd_nm_la_libadd)
2017-03-28 20:37:19 +00:00
$(src_tests_test_systemd_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 09:54:58 +00:00
EXTRA_DIST += \
2018-01-08 12:06:54 +00:00
src/tests/test-secret-agent.py \
src/tests/meson.build
2016-10-18 09:54:58 +00:00
2016-10-18 12:01:56 +00:00
###############################################################################
# dispatcher
###############################################################################
libexec_PROGRAMS += dispatcher/nm-dispatcher
noinst_LTLIBRARIES += \
2016-10-18 12:01:56 +00:00
dispatcher/libnm-dispatcher-core.la
2016-10-18 12:01:56 +00:00
dispatcher_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2018-01-02 12:37:06 +00:00
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /dispatcher \
-I$( builddir) /dispatcher \
2016-10-18 12:01:56 +00:00
$( GLIB_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DG_LOG_DOMAIN= \" "nm-dispatcher" \" \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2016-10-18 12:01:56 +00:00
-DNMCONFDIR= \" $( nmconfdir) \" \
-DSYSCONFDIR= \" $( sysconfdir) \" \
-DLIBEXECDIR= \" $( libexecdir) \"
2016-10-18 12:01:56 +00:00
dispatcher_nmdbus_dispatcher_sources = \
dispatcher/nmdbus-dispatcher.h \
dispatcher/nmdbus-dispatcher.c
2016-10-18 12:01:56 +00:00
dispatcher/nmdbus-dispatcher.h : dispatcher /nm -dispatcher .xml
2017-02-22 10:43:49 +00:00
@$( MKDIR_P) dispatcher/
2016-10-18 12:01:56 +00:00
$( AM_V_GEN) gdbus-codegen \
--generate-c-code $( basename $@ ) \
--c-namespace NMDBus \
--interface-prefix org.freedesktop \
$<
dispatcher/nmdbus-dispatcher.c : dispatcher /nmdbus -dispatcher .h
2016-11-22 18:30:06 +00:00
$(dispatcher_nm_dispatcher_OBJECTS) : $( dispatcher_nmdbus_dispatcher_sources )
2016-10-18 12:01:56 +00:00
2016-11-22 18:30:06 +00:00
CLEANFILES += $( dispatcher_nmdbus_dispatcher_sources)
2016-10-18 12:01:56 +00:00
dispatcher_libnm_dispatcher_core_la_SOURCES = \
shared/nm-dispatcher-api.h \
dispatcher/nm-dispatcher-utils.c \
dispatcher/nm-dispatcher-utils.h
dispatcher_libnm_dispatcher_core_la_CPPFLAGS = $( dispatcher_cppflags)
dispatcher_libnm_dispatcher_core_la_LIBADD = \
libnm/libnm.la \
$( GLIB_LIBS)
dispatcher_nm_dispatcher_SOURCES = \
shared/nm-dispatcher-api.h \
dispatcher/nm-dispatcher.c
2016-10-18 12:01:56 +00:00
nodist_dispatcher_nm_dispatcher_SOURCES = $( dispatcher_nmdbus_dispatcher_sources)
2016-10-18 12:01:56 +00:00
dispatcher_nm_dispatcher_CPPFLAGS = $( dispatcher_cppflags)
dispatcher_nm_dispatcher_LDFLAGS = \
2016-11-22 17:25:03 +00:00
-Wl,--version-script= " $( srcdir) /linker-script-binary.ver "
2016-10-18 12:01:56 +00:00
dispatcher_nm_dispatcher_LDADD = \
libnm/libnm.la \
dispatcher/libnm-dispatcher-core.la \
$( GLIB_LIBS)
dispatcher/org.freedesktop.nm_dispatcher.service : $( srcdir ) /dispatcher /org .freedesktop .nm_dispatcher .service .in
@sed \
-e 's|@sbindir[@]|$(sbindir)|g' \
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
-e 's|@localstatedir[@]|$(localstatedir)|g' \
-e 's|@libexecdir[@]|$(libexecdir)|g' \
$< >$@
dbusactivation_DATA += dispatcher/org.freedesktop.nm_dispatcher.service
CLEANFILES += dispatcher/org.freedesktop.nm_dispatcher.service
dispatcherdir = $( sysconfdir) /NetworkManager/dispatcher.d
install-data-hook-dispatcher :
$( mkinstalldirs) -m 0755 $( DESTDIR) $( dispatcherdir)
$( mkinstalldirs) -m 0755 $( DESTDIR) $( dispatcherdir) /pre-down.d
$( mkinstalldirs) -m 0755 $( DESTDIR) $( dispatcherdir) /pre-up.d
$( mkinstalldirs) -m 0755 $( DESTDIR) $( dispatcherdir) /no-wait.d
install_data_hook += install-data-hook-dispatcher
dbusservice_DATA += dispatcher/nm-dispatcher.conf
EXTRA_DIST += \
dispatcher/nm-dispatcher.conf \
dispatcher/org.freedesktop.nm_dispatcher.service.in \
2018-01-08 12:06:54 +00:00
dispatcher/nm-dispatcher.xml \
dispatcher/meson.build
2016-10-18 12:01:56 +00:00
2016-10-18 12:01:56 +00:00
###############################################################################
# dispatcher/tests
###############################################################################
check_programs += dispatcher/tests/test-dispatcher-envp
dispatcher_tests_test_dispatcher_envp_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2018-01-02 12:37:06 +00:00
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /dispatcher \
-I$( builddir) /dispatcher \
2016-10-18 12:01:56 +00:00
-DSRCDIR= \" $( abs_srcdir) /dispatcher/tests\" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2018-02-07 10:10:31 +00:00
$( GLIB_CFLAGS) \
$( SANITIZER_EXEC_CFLAGS)
dispatcher_tests_test_dispatcher_envp_LDFLAGS = \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-18 12:01:56 +00:00
dispatcher_tests_test_dispatcher_envp_LDADD = \
libnm/libnm.la \
dispatcher/libnm-dispatcher-core.la \
$( GLIB_LIBS)
2017-03-28 20:37:19 +00:00
$(dispatcher_tests_test_dispatcher_envp_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 12:01:56 +00:00
EXTRA_DIST += \
dispatcher/tests/dispatcher-connectivity-full \
dispatcher/tests/dispatcher-connectivity-unknown \
dispatcher/tests/dispatcher-down \
dispatcher/tests/dispatcher-external \
dispatcher/tests/dispatcher-up \
dispatcher/tests/dispatcher-vpn-down \
2018-01-08 12:06:54 +00:00
dispatcher/tests/dispatcher-vpn-up \
dispatcher/tests/meson.build
2016-10-18 12:01:56 +00:00
2016-10-18 12:01:56 +00:00
###############################################################################
# clients
###############################################################################
bin_PROGRAMS += clients/nm-online
clients_nm_online_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2016-10-18 12:01:56 +00:00
$( GLIB_CFLAGS) \
-DG_LOG_DOMAIN= \" "nm-online" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2016-10-18 12:01:56 +00:00
-DNMLOCALEDIR= \" $( datadir) /locale\"
clients_nm_online_LDFLAGS = \
2016-11-22 17:25:03 +00:00
-Wl,--version-script= " $( srcdir) /linker-script-binary.ver "
2016-10-18 12:01:56 +00:00
clients_nm_online_LDADD = \
libnm/libnm.la \
$( GLIB_LIBS)
2017-03-28 20:37:19 +00:00
$(clients_nm_online_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
clients/meson.build
2016-10-18 12:01:56 +00:00
###############################################################################
2017-04-04 08:31:07 +00:00
# clients/common
2016-10-18 12:01:56 +00:00
###############################################################################
2017-04-04 08:31:07 +00:00
clients_cppflags = \
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
-I$( srcdir) /clients/common \
-I$( builddir) /clients/common \
$( GLIB_CFLAGS) \
2018-01-02 12:37:06 +00:00
-DNMLOCALEDIR= \" $( datadir) /locale\" \
$( NULL)
2016-10-18 12:01:56 +00:00
2017-04-04 08:31:07 +00:00
check_ltlibraries += clients/common/libnmc-base.la
2016-10-18 12:01:56 +00:00
2017-04-04 08:31:07 +00:00
clients_common_libnmc_base_la_SOURCES = \
2017-10-13 14:12:35 +00:00
shared/nm-utils/nm-enum-utils.c \
shared/nm-utils/nm-enum-utils.h \
shared/nm-utils/nm-hash-utils.c \
shared/nm-utils/nm-hash-utils.h \
shared/nm-utils/nm-random-utils.c \
shared/nm-utils/nm-random-utils.h \
shared/nm-utils/nm-shared-utils.c \
shared/nm-utils/nm-shared-utils.h \
2017-10-13 15:16:23 +00:00
shared/nm-utils/siphash24.h \
2017-10-13 14:12:35 +00:00
\
2017-04-04 08:31:07 +00:00
clients/common/nm-secret-agent-simple.c \
clients/common/nm-secret-agent-simple.h \
clients/common/nm-vpn-helpers.c \
2017-10-12 13:04:58 +00:00
clients/common/nm-vpn-helpers.h \
clients/common/nm-client-utils.c \
clients/common/nm-client-utils.h
2017-04-04 08:31:07 +00:00
clients_common_libnmc_base_la_CPPFLAGS = \
$( clients_cppflags) \
2018-01-02 12:37:06 +00:00
-DG_LOG_DOMAIN= \" "libnmc" \" \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT
2017-04-04 08:31:07 +00:00
clients_common_libnmc_base_la_LIBADD = \
libnm/libnm.la \
$( GLIB_LIBS)
$(clients_common_libnmc_base_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-05-05 13:27:39 +00:00
$(clients_common_libnmc_base_la_OBJECTS) : $( libnm_lib_h_pub_mkenums )
2017-10-19 12:00:02 +00:00
$(clients_common_libnmc_base_la_OBJECTS) : clients /common /.dirstamp
2017-04-04 08:31:07 +00:00
2018-01-11 16:02:13 +00:00
clients_common_settings_doc_h = clients/common/settings-docs.h
2017-04-04 08:31:07 +00:00
i f H A V E _ I N T R O S P E C T I O N
2018-01-11 16:02:13 +00:00
$(clients_common_settings_doc_h) : clients /common /settings -docs .xsl libnm /nm -property -docs .xml clients /common /.dirstamp
2017-04-04 08:31:07 +00:00
$( AM_V_GEN) $( XSLTPROC) --output $@ $< $( word 2,$^)
2018-01-11 16:02:13 +00:00
DISTCLEANFILES += $( clients_common_settings_doc_h)
check-local-settings-docs : $( clients_common_settings_doc_h )
2018-05-07 15:10:07 +00:00
@if test -z " $$ NMTST_NO_CHECK_SETTINGS_DOCS " ; then \
2018-01-11 16:02:13 +00:00
if ! cmp -s " $( srcdir) / $( clients_common_settings_doc_h) .in " " $( builddir) / $( clients_common_settings_doc_h) " ; then \
2018-05-07 15:10:07 +00:00
if test " $$ NM_TEST_REGENERATE " = = 1 ; then \
cp -f " $( builddir) / $( clients_common_settings_doc_h) " " $( srcdir) / $( clients_common_settings_doc_h) .in " ; \
else \
echo " The generated file \" $( builddir) / $( clients_common_settings_doc_h) \" differs from the source file \" $( srcdir) / $( clients_common_settings_doc_h) .in\". You probably should copy the generated file over to the source file. You can skip this test by setting \$ $NMTST_NO_CHECK_SETTINGS_DOCS =yes " . You can also automatically copy the file by rerunning the test with \$ $NM_TEST_REGENERATE = 1 ; \
false; \
fi ; \
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
fi ; \
fi
check_local += check-local-settings-docs
2017-04-04 08:31:07 +00:00
e l s e
2018-01-11 16:02:13 +00:00
$(clients_common_settings_doc_h) : $( clients_common_settings_doc_h ) .in clients /common /.dirstamp
$( AM_V_GEN) cp " $( srcdir) / $( clients_common_settings_doc_h) .in " " $( builddir) / $( clients_common_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
e n d i f
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 += \
2018-01-11 16:02:13 +00:00
$( clients_common_settings_doc_h) \
$( clients_common_settings_doc_h) .in
2017-04-04 08:31:07 +00:00
i f H A V E _ I N T R O S P E C T I O N
check_ltlibraries += clients/common/libnmc.la
e l s e
EXTRA_LTLIBRARIES += clients/common/libnmc.la
e n d i f
clients_common_libnmc_la_SOURCES = \
2017-03-28 09:38:00 +00:00
shared/nm-meta-setting.c \
shared/nm-meta-setting.h \
\
clients/common/nm-meta-setting-desc.c \
clients/common/nm-meta-setting-desc.h \
2017-03-31 12:45:46 +00:00
clients/common/nm-meta-setting-access.c \
clients/common/nm-meta-setting-access.h \
2017-04-04 08:31:07 +00:00
$( NULL)
clients_common_libnmc_la_CPPFLAGS = \
$( clients_cppflags) \
2018-01-02 12:37:06 +00:00
-DG_LOG_DOMAIN= \" "libnmc" \" \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT
2017-04-04 08:31:07 +00:00
clients_common_libnmc_la_LIBADD = \
libnm/libnm.la \
clients/common/libnmc-base.la \
$( GLIB_LIBS)
$(clients_common_libnmc_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-11 16:02:13 +00:00
$(clients_common_libnmc_la_OBJECTS) : $( clients_common_settings_doc_h )
2017-04-04 08:31:07 +00:00
$(clients_common_libnmc_la_OBJECTS) : clients /common /.dirstamp
2017-04-04 08:41:22 +00:00
i f H A V E _ I N T R O S P E C T I O N
check_programs += clients/common/tests/test-general
e l s e
i f B U I L D _ N M C L I
check_programs += clients/common/tests/test-general
e n d i f
e n d i f
clients_common_tests_test_general_CPPFLAGS = \
-I$( srcdir) /clients/common/tests \
$( clients_cppflags) \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
2018-02-07 10:10:31 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
$( SANITIZER_EXEC_CFLAGS)
clients_common_tests_test_general_LDFLAGS = \
$( SANITIZER_EXEC_LDFLAGS)
2017-04-04 08:41:22 +00:00
clients_common_tests_test_general_LDADD = \
libnm/libnm.la \
clients/common/libnmc-base.la \
clients/common/libnmc.la \
$( GLIB_LIBS)
$(clients_common_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2017-04-04 08:31:07 +00:00
###############################################################################
# clients/cli
###############################################################################
i f B U I L D _ N M C L I
bin_PROGRAMS += clients/cli/nmcli
clients_cli_nmcli_SOURCES = \
2016-10-18 12:01:56 +00:00
clients/cli/common.c \
clients/cli/common.h \
2017-04-04 08:41:22 +00:00
clients/cli/utils.c \
clients/cli/utils.h \
clients/cli/agent.c \
clients/cli/agent.h \
clients/cli/general.c \
clients/cli/general.h \
2016-10-18 12:01:56 +00:00
clients/cli/connections.c \
clients/cli/connections.h \
clients/cli/devices.c \
clients/cli/devices.h \
clients/cli/settings.c \
clients/cli/settings.h \
clients/cli/nmcli.c \
clients/cli/nmcli.h \
clients/cli/polkit-agent.c \
clients/cli/polkit-agent.h \
$( NULL)
clients_cli_nmcli_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /clients/cli \
2017-04-04 08:31:07 +00:00
$( clients_cppflags) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2018-03-29 10:11:07 +00:00
-DSYSCONFDIR= \" $( sysconfdir) \" \
2016-10-18 12:01:56 +00:00
-DG_LOG_DOMAIN= \" "nmcli" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2016-10-18 12:01:56 +00:00
-DNMCLI_LOCALEDIR= \" $( datadir) /locale\"
clients_cli_nmcli_LDADD = \
2017-04-04 08:31:07 +00:00
libnm/libnm.la \
clients/common/libnmc-base.la \
clients/common/libnmc.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
i f W I T H _ P O L K I T _ A G E N T
clients_cli_nmcli_CPPFLAGS += $( POLKIT_CFLAGS)
clients_cli_nmcli_SOURCES += \
clients/common/nm-polkit-listener.c \
clients/common/nm-polkit-listener.h
clients_cli_nmcli_LDADD += $( POLKIT_LIBS)
e n d i f
clients_cli_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
2017-04-04 08:31:07 +00:00
$(clients_cli_nmcli_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-05-05 13:27:39 +00:00
$(clients_cli_nmcli_OBJECTS) : $( libnm_lib_h_pub_mkenums )
2016-10-18 12:01:56 +00:00
install-data-hook-nmcli :
$( mkinstalldirs) $( DESTDIR) $( completiondir)
$( INSTALL_DATA) $( srcdir) /clients/cli/nmcli-completion $( DESTDIR) $( completiondir) /nmcli
install_data_hook += install-data-hook-nmcli
uninstall-hook-nmcli :
rm -f $( DESTDIR) $( completiondir) /nmcli
uninstall_hook += uninstall-hook-nmcli
e n d i f
EXTRA_DIST += \
clients/cli/nmcli-completion \
2018-01-08 12:06:54 +00:00
clients/cli/meson.build \
clients/common/settings-docs.xsl \
clients/common/meson.build \
clients/common/tests/meson.build
2016-10-18 12:01:56 +00:00
2016-10-18 12:01:56 +00:00
###############################################################################
# clients/tui
###############################################################################
i f B U I L D _ N M T U I
noinst_LIBRARIES += clients/tui/newt/libnmt-newt.a
clients_tui_newt_libnmt_newt_a_SOURCES = \
clients/tui/newt/nmt-newt.h \
clients/tui/newt/nmt-newt-types.h \
clients/tui/newt/nmt-newt-button.c \
clients/tui/newt/nmt-newt-button.h \
clients/tui/newt/nmt-newt-button-box.c \
clients/tui/newt/nmt-newt-button-box.h \
clients/tui/newt/nmt-newt-checkbox.c \
clients/tui/newt/nmt-newt-checkbox.h \
clients/tui/newt/nmt-newt-component.c \
clients/tui/newt/nmt-newt-component.h \
clients/tui/newt/nmt-newt-container.c \
clients/tui/newt/nmt-newt-container.h \
clients/tui/newt/nmt-newt-entry.c \
clients/tui/newt/nmt-newt-entry.h \
clients/tui/newt/nmt-newt-entry-numeric.c \
clients/tui/newt/nmt-newt-entry-numeric.h \
clients/tui/newt/nmt-newt-form.c \
clients/tui/newt/nmt-newt-form.h \
clients/tui/newt/nmt-newt-grid.c \
clients/tui/newt/nmt-newt-grid.h \
clients/tui/newt/nmt-newt-hacks.c \
clients/tui/newt/nmt-newt-hacks.h \
clients/tui/newt/nmt-newt-label.c \
clients/tui/newt/nmt-newt-label.h \
clients/tui/newt/nmt-newt-listbox.c \
clients/tui/newt/nmt-newt-listbox.h \
clients/tui/newt/nmt-newt-popup.c \
clients/tui/newt/nmt-newt-popup.h \
clients/tui/newt/nmt-newt-section.c \
clients/tui/newt/nmt-newt-section.h \
clients/tui/newt/nmt-newt-separator.c \
clients/tui/newt/nmt-newt-separator.h \
clients/tui/newt/nmt-newt-stack.c \
clients/tui/newt/nmt-newt-stack.h \
clients/tui/newt/nmt-newt-textbox.c \
clients/tui/newt/nmt-newt-textbox.h \
clients/tui/newt/nmt-newt-toggle-button.c \
clients/tui/newt/nmt-newt-toggle-button.h \
clients/tui/newt/nmt-newt-utils.c \
clients/tui/newt/nmt-newt-utils.h \
clients/tui/newt/nmt-newt-widget.c \
clients/tui/newt/nmt-newt-widget.h \
$( NULL)
clients_tui_newt_libnmt_newt_a_CPPFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-core \
-I$( builddir) /libnm-core \
2018-01-02 12:37:06 +00:00
-I$( srcdir) /libnm \
-I$( builddir) /libnm \
2016-10-18 12:01:56 +00:00
-DG_LOG_DOMAIN= \" "nmtui" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2016-10-18 12:01:56 +00:00
$( GLIB_CFLAGS) \
$( NEWT_CFLAGS) \
2018-02-07 10:10:31 +00:00
$( SANITIZER_EXEC_CFLAGS) \
2016-10-18 12:01:56 +00:00
$( NULL)
2018-05-02 11:03:59 +00:00
$(clients_tui_newt_libnmt_newt_a_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 12:01:56 +00:00
bin_PROGRAMS += clients/tui/nmtui
clients_tui_nmtui_SOURCES = \
clients/tui/nmtui.c \
clients/tui/nmtui.h \
clients/tui/nmtui-connect.c \
clients/tui/nmtui-connect.h \
clients/tui/nmtui-edit.c \
clients/tui/nmtui-edit.h \
clients/tui/nmtui-hostname.c \
clients/tui/nmtui-hostname.h \
\
clients/tui/nm-editor-bindings.c \
clients/tui/nm-editor-bindings.h \
clients/tui/nm-editor-utils.c \
clients/tui/nm-editor-utils.h \
\
clients/tui/nmt-address-list.c \
clients/tui/nmt-address-list.h \
clients/tui/nmt-connect-connection-list.c \
clients/tui/nmt-connect-connection-list.h \
clients/tui/nmt-device-entry.c \
clients/tui/nmt-device-entry.h \
clients/tui/nmt-edit-connection-list.c \
clients/tui/nmt-edit-connection-list.h \
clients/tui/nmt-editor-grid.c \
clients/tui/nmt-editor-grid.h \
clients/tui/nmt-editor-page.c \
clients/tui/nmt-editor-page.h \
clients/tui/nmt-editor-page-device.c \
clients/tui/nmt-editor-page-device.h \
clients/tui/nmt-editor-section.c \
clients/tui/nmt-editor-section.h \
clients/tui/nmt-editor.c \
clients/tui/nmt-editor.h \
clients/tui/nmt-ip-entry.c \
clients/tui/nmt-ip-entry.h \
clients/tui/nmt-mac-entry.c \
clients/tui/nmt-mac-entry.h \
clients/tui/nmt-mtu-entry.c \
clients/tui/nmt-mtu-entry.h \
clients/tui/nmt-page-bond.c \
clients/tui/nmt-page-bond.h \
clients/tui/nmt-page-bridge.c \
clients/tui/nmt-page-bridge.h \
clients/tui/nmt-page-bridge-port.c \
clients/tui/nmt-page-bridge-port.h \
clients/tui/nmt-page-dsl.c \
clients/tui/nmt-page-dsl.h \
clients/tui/nmt-page-ethernet.c \
clients/tui/nmt-page-ethernet.h \
clients/tui/nmt-page-infiniband.c \
clients/tui/nmt-page-infiniband.h \
2016-11-04 13:00:04 +00:00
clients/tui/nmt-page-ip-tunnel.c \
clients/tui/nmt-page-ip-tunnel.h \
2016-10-18 12:01:56 +00:00
clients/tui/nmt-page-ip4.c \
clients/tui/nmt-page-ip4.h \
clients/tui/nmt-page-ip6.c \
clients/tui/nmt-page-ip6.h \
clients/tui/nmt-page-ppp.c \
clients/tui/nmt-page-ppp.h \
clients/tui/nmt-page-team.c \
clients/tui/nmt-page-team.h \
clients/tui/nmt-page-team-port.c \
clients/tui/nmt-page-team-port.h \
clients/tui/nmt-page-vlan.c \
clients/tui/nmt-page-vlan.h \
clients/tui/nmt-page-wifi.c \
clients/tui/nmt-page-wifi.h \
clients/tui/nmt-password-dialog.c \
clients/tui/nmt-password-dialog.h \
clients/tui/nmt-password-fields.c \
clients/tui/nmt-password-fields.h \
clients/tui/nmt-route-editor.c \
clients/tui/nmt-route-editor.h \
clients/tui/nmt-route-entry.c \
clients/tui/nmt-route-entry.h \
clients/tui/nmt-route-table.c \
clients/tui/nmt-route-table.h \
clients/tui/nmt-slave-list.c \
clients/tui/nmt-slave-list.h \
clients/tui/nmt-utils.c \
clients/tui/nmt-utils.h \
clients/tui/nmt-widget-list.c \
clients/tui/nmt-widget-list.h \
$( NULL)
clients_tui_nmtui_CPPFLAGS = \
-I$( srcdir) /clients/tui/newt \
2017-04-04 08:31:07 +00:00
$( clients_cppflags) \
2016-10-18 12:01:56 +00:00
$( NEWT_CFLAGS) \
-DG_LOG_DOMAIN= \" "nmtui" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_CLIENT \
2017-04-04 08:31:07 +00:00
-DLOCALEDIR= \" " $( localedir) " \"
2016-10-18 12:01:56 +00:00
clients_tui_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
clients_tui_nmtui_LDADD = \
libnm/libnm.la \
clients/tui/newt/libnmt-newt.a \
2017-04-04 08:31:07 +00:00
clients/common/libnmc-base.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)
2017-03-28 20:37:19 +00:00
$(clients_tui_nmtui_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 12:01:56 +00:00
nmtui_links = nmtui-edit nmtui-connect nmtui-hostname
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
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
clients/tui/meson.build \
clients/tui/newt/meson.build
2018-05-04 07:02:53 +00:00
###############################################################################
# clients/tests
###############################################################################
check-local-clients-tests-test-client : clients /cli /nmcli clients /tests /test -client .py
mkdir -p " $( builddir) /clients/tests/ "
GI_TYPELIB_PATH = " $( abs_builddir) /libnm $$ {GI_TYPELIB_PATH:+: $$ GI_TYPELIB_PATH} " \
LD_LIBRARY_PATH = " $( abs_builddir) /libnm/.libs $$ {LD_LIBRARY_PATH:+: $$ LD_LIBRARY_PATH} " \
NM_TEST_CLIENT_BUILDDIR = " $( abs_builddir) " \
NM_TEST_CLIENT_NMCLI_PATH = clients/cli/nmcli \
2018-05-21 08:14:04 +00:00
" $( PYTHON) " \
2018-05-04 07:02:53 +00:00
$( srcdir) /clients/tests/test-client.py -v & > " $( builddir) /clients/tests/test-client.log " && r = ok; \
cat " $( builddir) /clients/tests/test-client.log " ; \
test " $$ r " = = ok
check_local += check-local-clients-tests-test-client
CLEANFILES += clients/tests/test-client.log
EXTRA_DIST += \
clients/tests/test-client.py \
\
clients/tests/test-client.check-on-disk/test_001-001.expected \
clients/tests/test-client.check-on-disk/test_001-002.expected \
clients/tests/test-client.check-on-disk/test_001-003.expected \
clients/tests/test-client.check-on-disk/test_001-004.expected \
clients/tests/test-client.check-on-disk/test_001-005.expected \
clients/tests/test-client.check-on-disk/test_001-006.expected \
2018-05-14 14:33:10 +00:00
clients/tests/test-client.check-on-disk/test_001-007.expected \
clients/tests/test-client.check-on-disk/test_001-008.expected \
clients/tests/test-client.check-on-disk/test_001-009.expected \
clients/tests/test-client.check-on-disk/test_001-010.expected \
clients/tests/test-client.check-on-disk/test_001-011.expected \
clients/tests/test-client.check-on-disk/test_001-012.expected \
2018-05-04 07:02:53 +00:00
clients/tests/test-client.check-on-disk/test_002-001.expected \
clients/tests/test-client.check-on-disk/test_002-002.expected \
clients/tests/test-client.check-on-disk/test_002-003.expected \
clients/tests/test-client.check-on-disk/test_002-004.expected \
clients/tests/test-client.check-on-disk/test_002-005.expected \
clients/tests/test-client.check-on-disk/test_002-006.expected \
clients/tests/test-client.check-on-disk/test_002-007.expected \
clients/tests/test-client.check-on-disk/test_002-008.expected \
clients/tests/test-client.check-on-disk/test_002-009.expected \
clients/tests/test-client.check-on-disk/test_002-010.expected \
clients/tests/test-client.check-on-disk/test_002-011.expected \
clients/tests/test-client.check-on-disk/test_002-012.expected \
clients/tests/test-client.check-on-disk/test_002-013.expected \
clients/tests/test-client.check-on-disk/test_002-014.expected \
clients/tests/test-client.check-on-disk/test_002-015.expected \
clients/tests/test-client.check-on-disk/test_002-016.expected \
clients/tests/test-client.check-on-disk/test_002-017.expected \
2018-05-14 12:18:03 +00:00
clients/tests/test-client.check-on-disk/test_002-018.expected \
2018-05-14 14:33:10 +00:00
clients/tests/test-client.check-on-disk/test_002-019.expected \
clients/tests/test-client.check-on-disk/test_002-020.expected \
clients/tests/test-client.check-on-disk/test_002-021.expected \
clients/tests/test-client.check-on-disk/test_002-022.expected \
clients/tests/test-client.check-on-disk/test_002-023.expected \
clients/tests/test-client.check-on-disk/test_002-024.expected \
clients/tests/test-client.check-on-disk/test_002-025.expected \
clients/tests/test-client.check-on-disk/test_002-026.expected \
clients/tests/test-client.check-on-disk/test_002-027.expected \
clients/tests/test-client.check-on-disk/test_002-028.expected \
clients/tests/test-client.check-on-disk/test_002-029.expected \
clients/tests/test-client.check-on-disk/test_002-030.expected \
clients/tests/test-client.check-on-disk/test_002-031.expected \
clients/tests/test-client.check-on-disk/test_002-032.expected \
clients/tests/test-client.check-on-disk/test_002-033.expected \
clients/tests/test-client.check-on-disk/test_002-034.expected \
clients/tests/test-client.check-on-disk/test_002-035.expected \
clients/tests/test-client.check-on-disk/test_002-036.expected \
2018-05-04 07:02:53 +00:00
clients/tests/test-client.check-on-disk/test_003-001.expected \
clients/tests/test-client.check-on-disk/test_003-002.expected \
clients/tests/test-client.check-on-disk/test_003-003.expected \
clients/tests/test-client.check-on-disk/test_003-004.expected \
clients/tests/test-client.check-on-disk/test_003-005.expected \
clients/tests/test-client.check-on-disk/test_003-006.expected \
clients/tests/test-client.check-on-disk/test_003-007.expected \
clients/tests/test-client.check-on-disk/test_003-008.expected \
2018-05-14 14:33:10 +00:00
clients/tests/test-client.check-on-disk/test_003-009.expected \
clients/tests/test-client.check-on-disk/test_003-010.expected \
clients/tests/test-client.check-on-disk/test_003-011.expected \
clients/tests/test-client.check-on-disk/test_003-012.expected \
clients/tests/test-client.check-on-disk/test_003-013.expected \
clients/tests/test-client.check-on-disk/test_003-014.expected \
2018-05-14 14:01:32 +00:00
clients/tests/test-client.check-on-disk/test_003-015.expected \
clients/tests/test-client.check-on-disk/test_003-016.expected \
clients/tests/test-client.check-on-disk/test_003-017.expected \
clients/tests/test-client.check-on-disk/test_003-018.expected \
clients/tests/test-client.check-on-disk/test_003-019.expected \
clients/tests/test-client.check-on-disk/test_003-020.expected \
clients/tests/test-client.check-on-disk/test_003-021.expected \
clients/tests/test-client.check-on-disk/test_003-022.expected \
clients/tests/test-client.check-on-disk/test_003-023.expected \
clients/tests/test-client.check-on-disk/test_003-024.expected \
clients/tests/test-client.check-on-disk/test_003-025.expected \
clients/tests/test-client.check-on-disk/test_003-026.expected \
clients/tests/test-client.check-on-disk/test_003-027.expected \
clients/tests/test-client.check-on-disk/test_003-028.expected \
clients/tests/test-client.check-on-disk/test_003-029.expected \
clients/tests/test-client.check-on-disk/test_003-030.expected \
2018-05-04 07:02:53 +00:00
\
$( NULL)
2016-10-18 12:01:56 +00:00
###############################################################################
# data
###############################################################################
data_edit = sed \
2017-02-15 17:02:52 +00:00
-e 's|@NM_VERSION[@]|$(NM_VERSION)|g' \
2016-10-18 12:01:56 +00:00
-e 's|@bindir[@]|$(bindir)|g' \
-e 's|@sbindir[@]|$(sbindir)|g' \
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
2017-02-15 17:02:52 +00:00
-e 's|@nmrundir[@]|$(nmrundir)|g' \
2016-10-18 12:01:56 +00:00
-e 's|@localstatedir[@]|$(localstatedir)|g' \
-e 's|@libexecdir[@]|$(libexecdir)|g' \
2017-02-15 17:02:52 +00:00
-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' \
-e 's|@NM_CONFIG_DEFAULT_MAIN_DHCP[@]|$(NM_CONFIG_DEFAULT_MAIN_DHCP)|g'
2016-10-18 12:01:56 +00:00
i f H A V E _ S Y S T E M D
systemdsystemunit_DATA = \
data/NetworkManager.service \
data/NetworkManager-wait-online.service \
data/NetworkManager-dispatcher.service
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
i f H A V E _ S Y S T E M D _ 2 0 0
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
e l s e
data/NetworkManager-wait-online.service : $( srcdir ) /data /NetworkManager -wait -online -systemd -pre 200.service .in
2016-11-16 19:03:16 +00:00
$( AM_V_GEN) $( data_edit) $< >$@
2016-10-18 12:01:56 +00:00
e n d i f
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
data/org.freedesktop.NetworkManager.service : $( srcdir ) /data /org .freedesktop .NetworkManager .service .in
2016-11-16 19:03:16 +00:00
$( AM_V_GEN) $( data_edit) $< >$@
2016-10-18 12:01:56 +00:00
service_DATA += data/org.freedesktop.NetworkManager.service
e n d i f
examples_DATA += data/server.conf
i f W I T H _ U D E V _ D I R
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
e n d i f
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
EXTRA_DIST += \
data/NetworkManager.service.in \
data/NetworkManager-wait-online.service.in \
data/NetworkManager-wait-online-systemd-pre200.service.in \
data/NetworkManager-dispatcher.service.in \
data/org.freedesktop.NetworkManager.service.in \
data/84-nm-drivers.rules \
data/85-nm-unmanaged.rules \
2018-04-19 12:05:52 +00:00
data/90-nm-thunderbolt.rules \
2018-01-08 12:06:54 +00:00
data/server.conf.in \
data/meson.build
2016-10-18 12:01:56 +00:00
CLEANFILES += \
data/NetworkManager.service \
data/NetworkManager-wait-online.service \
data/NetworkManager-dispatcher.service \
data/org.freedesktop.NetworkManager.service \
data/server.conf
2016-10-18 13:53:05 +00:00
###############################################################################
# libnm-util
###############################################################################
i f W I T H _ L E G A C Y _ L I B R A R I E S
lib_LTLIBRARIES += libnm-util/libnm-util.la
libnm_util_libnm_util_includedir = $( includedir) /NetworkManager
libnm_util_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
-I$( srcdir) /shared \
-I$( builddir) /shared \
2016-10-18 13:53:05 +00:00
-DG_LOG_DOMAIN= \" "libnm-util" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_UTIL \
2016-10-18 13:53:05 +00:00
-DLOCALEDIR= \" $( datadir) /locale\" \
$( GLIB_CFLAGS) \
$( DBUS_CFLAGS) \
$( UUID_CFLAGS)
2016-11-15 11:15:07 +00:00
libnm_util_lib_h_pub_real = \
2016-10-18 13:53:05 +00:00
shared/nm-version-macros.h \
libnm-util/NetworkManager.h \
libnm-util/NetworkManagerVPN.h \
libnm-util/nm-connection.h \
libnm-util/nm-setting.h \
libnm-util/nm-setting-8021x.h \
libnm-util/nm-setting-adsl.h \
libnm-util/nm-setting-bluetooth.h \
libnm-util/nm-setting-bond.h \
libnm-util/nm-setting-team.h \
libnm-util/nm-setting-team-port.h \
libnm-util/nm-setting-bridge.h \
libnm-util/nm-setting-bridge-port.h \
libnm-util/nm-setting-connection.h \
libnm-util/nm-setting-dcb.h \
libnm-util/nm-setting-infiniband.h \
libnm-util/nm-setting-ip4-config.h \
libnm-util/nm-setting-vlan.h \
libnm-util/nm-setting-ip6-config.h \
libnm-util/nm-setting-ppp.h \
libnm-util/nm-setting-pppoe.h \
libnm-util/nm-setting-serial.h \
libnm-util/nm-setting-generic.h \
libnm-util/nm-setting-gsm.h \
libnm-util/nm-setting-cdma.h \
libnm-util/nm-setting-olpc-mesh.h \
libnm-util/nm-setting-wimax.h \
libnm-util/nm-setting-wired.h \
libnm-util/nm-setting-wireless.h \
libnm-util/nm-setting-wireless-security.h \
libnm-util/nm-setting-vpn.h \
libnm-util/nm-utils.h \
libnm-util/nm-version.h
2016-11-20 13:40:38 +00:00
libnm_util_lib_h_pub_mkenums = \
2016-10-18 13:53:05 +00:00
libnm-util/nm-utils-enum-types.h
2016-11-15 11:15:07 +00:00
libnm_util_lib_h_priv = \
2016-10-18 13:53:05 +00:00
shared/nm-utils/nm-shared-utils.h \
libnm-util/crypto.h \
libnm-util/nm-dbus-glib-types.h \
libnm-util/nm-gvaluearray-compat.h \
libnm-util/nm-param-spec-specialized.h \
libnm-util/nm-setting-private.h \
libnm-util/nm-utils-private.h
2016-11-15 11:15:07 +00:00
libnm_util_libnm_util_include_HEADERS = \
$( libnm_util_lib_h_pub_real)
nodist_libnm_util_libnm_util_include_HEADERS = \
2016-11-20 13:40:38 +00:00
$( libnm_util_lib_h_pub_mkenums)
2016-11-15 11:15:07 +00:00
libnm_util_lib_c_real = \
2016-10-18 13:53:05 +00:00
shared/nm-utils/nm-shared-utils.c \
libnm-util/crypto.c \
libnm-util/nm-connection.c \
libnm-util/nm-param-spec-specialized.c \
libnm-util/nm-setting.c \
libnm-util/nm-setting-8021x.c \
libnm-util/nm-setting-adsl.c \
libnm-util/nm-setting-bluetooth.c \
libnm-util/nm-setting-bond.c \
libnm-util/nm-setting-team.c \
libnm-util/nm-setting-team-port.c \
libnm-util/nm-setting-bridge.c \
libnm-util/nm-setting-bridge-port.c \
libnm-util/nm-setting-connection.c \
libnm-util/nm-setting-dcb.c \
libnm-util/nm-setting-infiniband.c \
libnm-util/nm-setting-ip4-config.c \
libnm-util/nm-setting-vlan.c \
libnm-util/nm-setting-ip6-config.c \
libnm-util/nm-setting-ppp.c \
libnm-util/nm-setting-pppoe.c \
libnm-util/nm-setting-serial.c \
libnm-util/nm-setting-generic.c \
libnm-util/nm-setting-gsm.c \
libnm-util/nm-setting-cdma.c \
libnm-util/nm-setting-olpc-mesh.c \
libnm-util/nm-setting-wimax.c \
libnm-util/nm-setting-wired.c \
libnm-util/nm-setting-wireless.c \
libnm-util/nm-setting-wireless-security.c \
libnm-util/nm-setting-vpn.c \
libnm-util/nm-utils.c \
libnm-util/nm-value-transforms.c
2016-11-20 13:40:38 +00:00
libnm_util_lib_c_mkenums = \
2016-11-15 11:15:07 +00:00
libnm-util/nm-utils-enum-types.c
2016-10-18 13:53:05 +00:00
libnm_util_libnm_util_la_SOURCES = \
2016-11-15 11:15:07 +00:00
$( libnm_util_lib_c_real) \
$( libnm_util_lib_h_pub_real) \
$( libnm_util_lib_h_priv)
nodist_libnm_util_libnm_util_la_SOURCES = \
2016-11-20 13:40:38 +00:00
$( libnm_util_lib_h_pub_mkenums) \
$( libnm_util_lib_c_mkenums)
2016-10-18 13:53:05 +00:00
2017-03-24 09:54:59 +00:00
$(libnm_util_libnm_util_la_OBJECTS) : $( libnm_util_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
libnm_util_libnm_util_la_CPPFLAGS = $( libnm_util_cppflags)
GLIB_GENERATED += \
2016-11-20 13:40:38 +00:00
$( libnm_util_lib_h_pub_mkenums) \
$( libnm_util_lib_c_mkenums)
2016-11-15 11:15:07 +00:00
nm_utils_enum_types_sources = $( filter-out libnm-util/NetworkManager%,$( libnm_util_lib_h_pub_real) )
2016-10-18 13:53:05 +00:00
2016-11-20 14:03:45 +00:00
$(libnm_util_libnm_util_la_OBJECTS) : $( libnm_util_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
libnm_util_libnm_util_la_LIBADD = \
$( GLIB_LIBS) \
$( DBUS_LIBS) \
$( UUID_LIBS)
libnm_util_libnm_util_la_LDFLAGS = \
-Wl,--version-script= $( srcdir) /libnm-util/libnm-util.ver \
-version-info "9:0:7"
i f W I T H _ G N U T L S
libnm_util_cppflags += $( GNUTLS_CFLAGS)
2016-11-15 11:15:07 +00:00
libnm_util_lib_c_real += libnm-util/crypto_gnutls.c
2016-10-18 13:53:05 +00:00
libnm_util_libnm_util_la_LIBADD += $( GNUTLS_LIBS)
e n d i f
i f W I T H _ N S S
libnm_util_cppflags += $( NSS_CFLAGS)
2016-11-15 11:15:07 +00:00
libnm_util_lib_c_real += libnm-util/crypto_nss.c
2016-10-18 13:53:05 +00:00
libnm_util_libnm_util_la_LIBADD += $( NSS_LIBS)
e n d i f
2016-11-15 11:15:07 +00:00
EXTRA_DIST += \
libnm-util/crypto_gnutls.c \
libnm-util/crypto_nss.c
2016-10-18 13:53:05 +00:00
check_ltlibraries += libnm-util/libtest-crypto.la
libnm_util_libtest_crypto_la_SOURCES = \
libnm-util/crypto.c
libnm_util_libtest_crypto_la_CPPFLAGS = $( libnm_util_cppflags)
libnm_util_libtest_crypto_la_LIBADD = \
$( GLIB_LIBS)
i f W I T H _ G N U T L S
libnm_util_libtest_crypto_la_SOURCES += libnm-util/crypto_gnutls.c
libnm_util_libtest_crypto_la_LIBADD += $( GNUTLS_LIBS)
e n d i f
i f W I T H _ N S S
libnm_util_libtest_crypto_la_SOURCES += libnm-util/crypto_nss.c
libnm_util_libtest_crypto_la_LIBADD += $( NSS_LIBS)
e n d i f
pkgconfig_DATA += libnm-util/libnm-util.pc
DISTCLEANFILES += libnm-util/libnm-util.pc
EXTRA_DIST += \
libnm-util/COPYING \
libnm-util/libnm-util.pc.in \
2018-01-08 12:06:54 +00:00
libnm-util/libnm-util.ver \
libnm-util/nm-utils-enum-types.c.template \
libnm-util/nm-utils-enum-types.h.template \
libnm-util/meson.build
2016-10-18 13:53:05 +00:00
i f H A V E _ I N T R O S P E C T I O N
libnm-util/NetworkManager-1.0.gir : libnm -util /libnm -util .la
libnm_util_NetworkManager_1_0_gir_INCLUDES = GObject-2.0 DBusGLib-1.0
libnm_util_NetworkManager_1_0_gir_PACKAGES = gobject-2.0 dbus-glib-1
libnm_util_NetworkManager_1_0_gir_EXPORT_PACKAGES = libnm-util
2016-11-21 11:59:31 +00:00
libnm_util_NetworkManager_1_0_gir_CFLAGS = $( AM_CPPFLAGS) -I$( srcdir) /libnm-util
2016-10-18 13:53:05 +00:00
libnm_util_NetworkManager_1_0_gir_LIBS = libnm-util/libnm-util.la
libnm_util_NetworkManager_1_0_gir_FILES = \
2016-11-20 13:40:38 +00:00
$( libnm_util_lib_h_pub_mkenums) \
2016-11-15 11:15:07 +00:00
$( libnm_util_lib_h_pub_real) \
2016-11-20 13:40:38 +00:00
$( libnm_util_lib_c_mkenums) \
2016-11-15 11:15:07 +00:00
$( libnm_util_lib_c_real)
2016-10-18 13:53:05 +00:00
libnm_util_NetworkManager_1_0_gir_SCANNERFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
2016-10-18 13:53:05 +00:00
--warn-all --identifier-prefix= NM --symbol-prefix= nm
libnm-util/NetworkManager-1.0.typelib : libnm -util /NetworkManager -1.0.gir
$( INTROSPECTION_COMPILER) " --includedir= $( srcdir) /libnm-util " " --includedir= $( builddir) /libnm-util " $< -o $@
INTROSPECTION_GIRS += libnm-util/NetworkManager-1.0.gir
e n d i f
check-local-exports-libnm-util : libnm -util /libnm -util .la
$( srcdir) /tools/check-exports.sh " $( builddir) /libnm-util/.libs/libnm-util.so " " $( srcdir) /libnm-util/libnm-util.ver "
check_local += check-local-exports-libnm-util
2016-11-15 09:50:19 +00:00
dist_dependencies += libnm-util/libnm-util.la
2016-10-18 13:53:05 +00:00
###############################################################################
# libnm-util/tests
###############################################################################
libnm_util_tests_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
2016-10-18 13:53:05 +00:00
$( GLIB_CFLAGS) \
$( DBUS_CFLAGS) \
-DBUILD_DIR= \" $( abs_builddir) /libnm-util/tests\" \
2018-01-02 12:37:06 +00:00
-DTEST_CERT_DIR= \" $( abs_srcdir) /libnm-core/tests/certs\" \
-DNETWORKMANAGER_COMPILATION_TEST \
2018-02-07 10:10:31 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_UTIL \
$( SANITIZER_EXEC_CFLAGS)
2016-10-18 13:53:05 +00:00
libnm_util_tests_ldadd = \
libnm-util/libnm-util.la \
$( GLIB_LIBS) \
$( DBUS_LIBS)
2018-02-07 10:10:31 +00:00
libnm_util_tests_ldflags = \
$( SANITIZER_EXEC_LDFLAGS)
2016-10-18 13:53:05 +00:00
check_programs += \
libnm-util/tests/test-settings-defaults \
libnm-util/tests/test-crypto \
libnm-util/tests/test-secrets \
libnm-util/tests/test-general \
libnm-util/tests/test-setting-8021x \
libnm-util/tests/test-setting-dcb
check_programs_norun += \
libnm-util/tests/test-libnm-linking
libnm_util_tests_test_settings_defaults_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_settings_defaults_LDADD = $( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_settings_defaults_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_crypto_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_crypto_LDADD = \
libnm-util/libtest-crypto.la \
$( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_crypto_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_secrets_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_secrets_LDADD = $( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_secrets_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_general_DEPENDENCIES = libnm-util/tests/test-libnm-linking
libnm_util_tests_test_general_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_general_LDADD = $( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_general_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_setting_8021x_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_setting_8021x_LDADD = $( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_setting_8021x_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_setting_dcb_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_setting_dcb_LDADD = $( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_setting_dcb_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
libnm_util_tests_test_libnm_linking_CPPFLAGS = $( libnm_util_tests_cppflags)
libnm_util_tests_test_libnm_linking_LDADD = \
2016-11-22 17:21:48 +00:00
libnm/libnm.la \
2016-10-18 13:53:05 +00:00
$( libnm_util_tests_ldadd)
2018-02-07 10:10:31 +00:00
libnm_util_tests_test_libnm_linking_LDFLAGS = $( libnm_util_tests_ldflags)
2016-10-18 13:53:05 +00:00
2017-03-28 20:37:19 +00:00
$(libnm_util_tests_test_settings_defaults_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_crypto_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_secrets_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_general_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_setting_8021x_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_setting_dcb_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
$(libnm_util_tests_test_libnm_linking_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
libnm-util/tests/meson.build
2016-10-18 13:53:05 +00:00
###############################################################################
# libnm-glib
###############################################################################
libnm_glib_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
-I$( srcdir) /libnm-glib \
-I$( builddir) /libnm-glib \
2016-10-18 13:53:05 +00:00
-DG_LOG_DOMAIN= \" "libnm-glib" \" \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_GLIB \
2016-10-18 13:53:05 +00:00
$( DBUS_CFLAGS) \
$( GLIB_CFLAGS)
noinst_LTLIBRARIES += libnm-glib/libdeprecated-nm-glib.la
libnm_glib_libdeprecated_nm_glib_la_SOURCES = \
libnm-glib/libnm_glib.h \
libnm-glib/libnm_glib.c
libnm_glib_libdeprecated_nm_glib_la_CPPFLAGS = \
$( libnm_glib_cppflags) \
-Wno-deprecated-declarations \
-Wno-deprecated
libnm_glib_libdeprecated_nm_glib_la_LIBADD = \
$( DBUS_LIBS) \
$( GLIB_LIBS)
libdeprecateddir = $( includedir) /libnm-glib
libdeprecated_HEADERS = \
libnm-glib/libnm_glib.h
lib_LTLIBRARIES += libnm-glib/libnm-glib.la
libnm_glib_libnmincludedir = $( includedir) /libnm-glib
libnm_glib_libnmvpndir = $( includedir) /libnm-glib
2016-11-15 11:15:07 +00:00
libnm_glib_lib_h_pub_real = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-object.h \
libnm-glib/nm-client.h \
libnm-glib/nm-device.h \
libnm-glib/nm-device-ethernet.h \
libnm-glib/nm-device-infiniband.h \
libnm-glib/nm-device-adsl.h \
libnm-glib/nm-device-wifi.h \
libnm-glib/nm-device-bt.h \
libnm-glib/nm-device-olpc-mesh.h \
libnm-glib/nm-device-bond.h \
libnm-glib/nm-device-team.h \
libnm-glib/nm-device-bridge.h \
libnm-glib/nm-device-vlan.h \
libnm-glib/nm-device-generic.h \
libnm-glib/nm-access-point.h \
libnm-glib/nm-ip4-config.h \
libnm-glib/nm-device-modem.h \
libnm-glib/nm-vpn-connection.h \
libnm-glib/nm-types.h \
libnm-glib/nm-active-connection.h \
libnm-glib/nm-dhcp4-config.h \
libnm-glib/nm-ip6-config.h \
libnm-glib/nm-dhcp6-config.h \
libnm-glib/nm-remote-connection.h \
libnm-glib/nm-remote-settings.h \
libnm-glib/nm-secret-agent.h \
libnm-glib/nm-device-wimax.h \
2016-11-15 11:15:07 +00:00
libnm-glib/nm-wimax-nsp.h
2016-11-20 13:40:38 +00:00
libnm_glib_lib_h_pub_mkenums = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-glib-enum-types.h
2016-11-15 11:15:07 +00:00
libnm_glib_lib_h_priv = \
2017-03-12 14:54:02 +00:00
shared/nm-utils/nm-udev-utils.h \
2016-11-15 11:15:07 +00:00
libnm-glib/nm-object-private.h \
libnm-glib/nm-device-private.h \
libnm-glib/nm-types-private.h \
libnm-glib/nm-object-cache.h \
libnm-glib/nm-remote-connection-private.h \
libnm-glib/nm-dbus-helpers-private.h
2016-10-18 13:53:05 +00:00
2016-11-15 11:15:07 +00:00
libnm_glib_libnminclude_HEADERS = \
$( libnm_glib_lib_h_pub_real)
2016-11-15 12:42:46 +00:00
nodist_libnm_glib_libnminclude_HEADERS = \
2016-11-20 13:40:38 +00:00
$( libnm_glib_lib_h_pub_mkenums)
2016-11-15 11:15:07 +00:00
libnm_glib_vpn_h_real = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-vpn-plugin.h \
libnm-glib/nm-vpn-plugin-ui-interface.h \
2016-11-15 11:15:07 +00:00
libnm-glib/nm-vpn-plugin-utils.h
2016-11-20 13:40:38 +00:00
libnm_glib_vpn_h_mkenums = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-vpn-enum-types.h
2016-11-15 11:15:07 +00:00
libnm_glib_libnmvpn_HEADERS = \
$( libnm_glib_vpn_h_real)
2016-11-15 12:42:46 +00:00
nodist_libnm_glib_libnmvpn_HEADERS = \
2016-11-20 13:40:38 +00:00
$( libnm_glib_vpn_h_mkenums)
2016-11-15 12:42:46 +00:00
2016-11-15 11:15:07 +00:00
libnm_glib_lib_c_real = \
2017-03-12 14:54:02 +00:00
shared/nm-utils/nm-udev-utils.c \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-object.c \
libnm-glib/nm-dbus-helpers.c \
libnm-glib/nm-client.c \
libnm-glib/nm-device.c \
libnm-glib/nm-device-ethernet.c \
libnm-glib/nm-device-infiniband.c \
libnm-glib/nm-device-adsl.c \
libnm-glib/nm-device-wifi.c \
libnm-glib/nm-device-bt.c \
libnm-glib/nm-device-olpc-mesh.c \
libnm-glib/nm-device-bond.c \
libnm-glib/nm-device-team.c \
libnm-glib/nm-device-bridge.c \
libnm-glib/nm-device-vlan.c \
libnm-glib/nm-device-generic.c \
libnm-glib/nm-access-point.c \
libnm-glib/nm-ip4-config.c \
libnm-glib/nm-device-modem.c \
libnm-glib/nm-vpn-connection.c \
libnm-glib/nm-types.c \
libnm-glib/nm-object-cache.c \
libnm-glib/nm-active-connection.c \
libnm-glib/nm-dhcp4-config.c \
libnm-glib/nm-ip6-config.c \
libnm-glib/nm-dhcp6-config.c \
libnm-glib/nm-remote-connection.c \
libnm-glib/nm-remote-settings.c \
libnm-glib/nm-secret-agent.c \
libnm-glib/nm-device-wimax.c \
2016-11-15 11:15:07 +00:00
libnm-glib/nm-wimax-nsp.c
2016-11-20 13:40:38 +00:00
libnm_glib_lib_c_mkenums = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-glib-enum-types.c
libnm_glib_libnm_glib_la_SOURCES = \
2016-11-15 11:15:07 +00:00
$( libnm_glib_lib_c_real) \
$( libnm_glib_lib_h_pub_real) \
$( libnm_glib_lib_h_priv)
2016-10-18 13:53:05 +00:00
2016-11-15 12:42:46 +00:00
nodist_libnm_glib_libnm_glib_la_SOURCES = \
2016-11-20 13:40:38 +00:00
$( libnm_glib_lib_c_mkenums) \
$( libnm_glib_lib_h_pub_mkenums)
2016-11-15 12:42:46 +00:00
2016-10-18 13:53:05 +00:00
libnm_glib_libnm_glib_la_CPPFLAGS = \
$( libnm_glib_cppflags) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_CFLAGS) \
2016-10-18 13:53:05 +00:00
-DNMRUNDIR= \" $( nmrundir) \"
libnm_glib_libnm_glib_la_LDFLAGS = \
-Wl,--version-script= $( srcdir) /libnm-glib/libnm-glib.ver \
-version-info "13:0:9"
libnm_glib_libnm_glib_la_LIBADD = \
libnm-util/libnm-util.la \
libnm-glib/libdeprecated-nm-glib.la \
$( GLIB_LIBS) \
$( DBUS_LIBS) \
2017-03-12 14:54:02 +00:00
$( LIBUDEV_LIBS)
2017-03-28 20:37:19 +00:00
$(libnm_glib_libnm_glib_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
GLIB_GENERATED += \
2016-11-20 13:40:38 +00:00
$( libnm_glib_lib_h_pub_mkenums) \
$( libnm_glib_lib_c_mkenums)
2016-11-15 11:15:07 +00:00
nm_glib_enum_types_sources = $( libnm_glib_lib_h_pub_real)
2016-10-18 13:53:05 +00:00
2016-11-20 14:03:45 +00:00
$(libnm_glib_libnm_glib_la_OBJECTS) : $( libnm_glib_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
check_programs_norun += libnm-glib/libnm-glib-test
libnm_glib_libnm_glib_test_CFLAGS = $( libnm_glib_cppflags)
libnm_glib_libnm_glib_test_LDADD = \
libnm-glib/libnm-glib.la \
libnm-util/libnm-util.la \
$( GLIB_LIBS) \
$( DBUS_LIBS)
2017-03-28 20:37:19 +00:00
$(libnm_glib_libnm_glib_test_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
lib_LTLIBRARIES += libnm-glib/libnm-glib-vpn.la
2016-11-15 11:15:07 +00:00
libnm_glib_vpn_c_real = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-vpn-plugin.c \
libnm-glib/nm-vpn-plugin-ui-interface.c \
2016-11-15 11:15:07 +00:00
libnm-glib/nm-vpn-plugin-utils.c
2016-11-20 13:40:38 +00:00
libnm_glib_vpn_c_mkenums = \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-vpn-enum-types.c
2016-11-15 11:15:07 +00:00
libnm_glib_libnm_glib_vpn_la_SOURCES = \
$( libnm_glib_vpn_c_real)
2016-11-15 12:42:46 +00:00
nodist_libnm_glib_libnm_glib_vpn_la_SOURCES = \
2016-11-20 13:40:38 +00:00
$( libnm_glib_vpn_c_mkenums)
2016-10-18 13:53:05 +00:00
libnm_glib_libnm_glib_vpn_la_CPPFLAGS = $( libnm_glib_cppflags)
libnm_glib_libnm_glib_vpn_la_LIBADD = \
libnm-util/libnm-util.la \
$( GLIB_LIBS) \
$( DBUS_LIBS)
libnm_glib_libnm_glib_vpn_la_LDFLAGS = \
-Wl,--version-script= $( srcdir) /libnm-glib/libnm-glib-vpn.ver \
-version-info "3:0:2"
2017-03-28 20:37:19 +00:00
$(libnm_glib_libnm_glib_vpn_la_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
GLIB_GENERATED += \
2016-11-20 13:40:38 +00:00
$( libnm_glib_vpn_h_mkenums) \
$( libnm_glib_vpn_c_mkenums)
2016-11-15 11:15:07 +00:00
nm_vpn_enum_types_sources = $( libnm_glib_vpn_h_real)
2016-10-18 13:53:05 +00:00
2016-11-20 14:03:45 +00:00
$(libnm_glib_libnm_glib_vpn_la_OBJECTS) : $( libnm_glib_vpn_h_mkenums )
2016-10-18 13:53:05 +00:00
2016-11-22 18:30:06 +00:00
libnm-glib/nm-vpn-plugin-glue.h : introspection /org .freedesktop .NetworkManager .VPN .Plugin .xml
2016-10-18 13:53:05 +00:00
$( AM_V_GEN) dbus-binding-tool --prefix= nm_vpn_plugin --mode= glib-server --output= $@ $<
2016-11-22 18:30:06 +00:00
libnm-glib/nm-secret-agent-glue.h : introspection /org .freedesktop .NetworkManager .SecretAgent .xml
2016-10-18 13:53:05 +00:00
$( AM_V_GEN) dbus-binding-tool --prefix= nm_secret_agent --mode= glib-server --output= $@ $<
2016-11-22 18:30:06 +00:00
CLEANFILES += \
2016-10-18 13:53:05 +00:00
libnm-glib/nm-vpn-plugin-glue.h \
libnm-glib/nm-secret-agent-glue.h
2016-11-22 18:30:06 +00:00
$(libnm_glib_libnm_glib_vpn_la_OBJECTS) : libnm -glib /nm -vpn -plugin -glue .h
$(libnm_glib_libnm_glib_la_OBJECTS) : libnm -glib /nm -secret -agent -glue .h
2016-11-15 11:15:07 +00:00
2016-10-18 13:53:05 +00:00
pkgconfig_DATA += \
libnm-glib/libnm-glib.pc \
libnm-glib/libnm-glib-vpn.pc
DISTCLEANFILES += \
libnm-glib/libnm-glib.pc \
libnm-glib/libnm-glib.pc
EXTRA_DIST += \
libnm-glib/libnm-glib.pc.in \
libnm-glib/libnm-glib-vpn.pc.in \
libnm-glib/libnm-glib.ver \
2018-01-08 12:06:54 +00:00
libnm-glib/libnm-glib-vpn.ver \
libnm-glib/nm-vpn-enum-types.c.template \
libnm-glib/nm-vpn-enum-types.h.template \
libnm-glib/nm-glib-enum-types.c.template \
libnm-glib/nm-glib-enum-types.h.template \
libnm-glib/meson.build
2016-10-18 13:53:05 +00:00
i f H A V E _ I N T R O S P E C T I O N
libnm-glib/NMClient-1.0.gir : libnm -glib /libnm -glib .la $( builddir ) /libnm -util /NetworkManager -1.0.gir
libnm_glib_NMClient_1_0_gir_INCLUDES = Gio-2.0 DBusGLib-1.0
2017-03-12 14:54:02 +00:00
libnm_glib_NMClient_1_0_gir_PACKAGES = gio-2.0 dbus-glib-1
2016-10-18 13:53:05 +00:00
libnm_glib_NMClient_1_0_gir_EXPORT_PACKAGES = libnm-glib libnm-glib-vpn
libnm_glib_NMClient_1_0_gir_CFLAGS = $( libnm_glib_cppflags)
libnm_glib_NMClient_1_0_gir_LIBS = \
libnm-glib/libnm-glib.la \
libnm-util/libnm-util.la
libnm_glib_NMClient_1_0_gir_FILES = \
2016-11-20 13:40:38 +00:00
$( libnm_glib_lib_h_pub_mkenums) \
2016-11-15 11:15:07 +00:00
$( libnm_glib_lib_h_pub_real) \
2016-11-20 13:40:38 +00:00
$( libnm_glib_lib_c_mkenums) \
2016-11-15 11:15:07 +00:00
$( libnm_glib_lib_c_real)
2016-10-18 13:53:05 +00:00
libnm_glib_NMClient_1_0_gir_SCANNERFLAGS = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
-I$( srcdir) /libnm-glib \
-I$( builddir) /libnm-glib \
2016-10-18 13:53:05 +00:00
--warn-all --identifier-prefix= NM --symbol-prefix= nm \
--include-uninstalled= $( builddir) /libnm-util/NetworkManager-1.0.gir
libnm-glib/NMClient-1.0.typelib : libnm -glib /NMClient -1.0.gir
$( INTROSPECTION_COMPILER) " --includedir= $( srcdir) /libnm-util " " --includedir= $( builddir) /libnm-util " $< -o $@
INTROSPECTION_GIRS += libnm-glib/NMClient-1.0.gir
e n d i f
check-local-exports-libnm-glib :
2016-11-22 17:25:03 +00:00
$( srcdir) /tools/check-exports.sh $( builddir) /libnm-glib/.libs/libnm-glib.so $( srcdir) /libnm-glib/libnm-glib.ver
2016-10-18 13:53:05 +00:00
check_local += check-local-exports-libnm-glib
2016-11-20 17:14:26 +00:00
dist_dependencies += \
libnm-glib/libnm-glib.la \
libnm-glib/libnm-glib-vpn.la
2016-11-15 09:50:19 +00:00
2016-10-18 13:53:05 +00:00
###############################################################################
# libnm-glib/tests
###############################################################################
libnm_glib_tests_cppflags = \
2016-11-21 11:59:31 +00:00
-I$( srcdir) /shared \
-I$( builddir) /shared \
-I$( srcdir) /libnm-util \
-I$( builddir) /libnm-util \
-I$( srcdir) /libnm-glib \
2018-01-02 12:37:06 +00:00
-DNETWORKMANAGER_COMPILATION_TEST \
-DNETWORKMANAGER_COMPILATION= NM_NETWORKMANAGER_COMPILATION_LIBNM_GLIB \
2016-11-22 17:25:03 +00:00
-DTEST_NM_SERVICE= \" $( abs_srcdir) /tools/test-networkmanager-service.py\" \
2016-10-18 13:53:05 +00:00
$( GLIB_CFLAGS) \
$( DBUS_CFLAGS)
2018-05-06 06:51:26 +00:00
libnm_glib_tests_programs_req_introspection = \
2016-10-18 13:53:05 +00:00
libnm-glib/tests/test-nm-client \
libnm-glib/tests/test-remote-settings-client
2018-05-06 06:51:26 +00:00
i f H A V E _ I N T R O S P E C T I O N
check_programs += $( libnm_glib_tests_programs_req_introspection)
e l s e
check_programs_norun += $( libnm_glib_tests_programs_req_introspection)
e n d i f
2016-10-18 13:53:05 +00:00
libnm_glib_tests_test_nm_client_CPPFLAGS = $( libnm_glib_tests_cppflags)
libnm_glib_tests_test_nm_client_SOURCES = \
shared/nm-test-utils-impl.c \
shared/nm-test-libnm-utils.h \
libnm-glib/tests/test-nm-client.c
libnm_glib_tests_test_nm_client_LDADD = \
libnm-util/libnm-util.la \
libnm-glib/libnm-glib.la \
$( GLIB_LIBS) \
$( DBUS_LIBS)
2017-03-28 20:37:19 +00:00
$(libnm_glib_tests_test_nm_client_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2016-10-18 13:53:05 +00:00
libnm_glib_tests_test_remote_settings_client_CPPFLAGS = $( libnm_glib_tests_cppflags)
libnm_glib_tests_test_remote_settings_client_SOURCES = \
shared/nm-test-utils-impl.c \
shared/nm-test-libnm-utils.h \
libnm-glib/tests/test-remote-settings-client.c
libnm_glib_tests_test_remote_settings_client_LDADD = \
libnm-util/libnm-util.la \
libnm-glib/libnm-glib.la \
$( GLIB_LIBS) \
$( DBUS_LIBS)
2017-03-28 20:37:19 +00:00
$(libnm_glib_tests_test_remote_settings_client_OBJECTS) : $( libnm_core_lib_h_pub_mkenums )
2018-05-06 06:51:26 +00:00
# tools/test-networkmanager-service.py uses libnm's typelib. Ensure it
# is built first.
$(libnm_glib_tests_test_nm_client_OBJECTS) : $( libnm_NM_ 1_ 0_typelib )
$(libnm_glib_tests_test_remote_settings_client_OBJECTS) : $( libnm_NM_ 1_ 0_typelib )
2016-10-18 13:53:05 +00:00
e n d i f
2018-01-08 12:06:54 +00:00
EXTRA_DIST += \
libnm-glib/tests/meson.build
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
i f B U I L D _ D O C S
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
e n d i f
2016-11-23 17:50:05 +00:00
man_nm_settings_xml = \
man/nm-settings.xml \
man/nm-settings-keyfile.xml \
man/nm-settings-ifcfg-rh.xml
2016-11-28 11:42:04 +00:00
i f H A V E _ I N T R O S P E C T I O N
2016-10-18 13:53:05 +00:00
2018-04-26 21:32:11 +00:00
man/nm-setting%.xml : man /common .ent
2016-11-24 10:32:34 +00:00
man/nm-setting%.xml : man /nm -setting %.xsl libnm /nm -setting %-docs .xml
2016-11-24 17:04:33 +00:00
$( AM_V_GEN) $( XSLTPROC) --output $@ $( xsltproc_flags) $^
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
e n d i f
man_pages += \
2017-02-13 16:07:38 +00:00
man/NetworkManager.8 \
2016-10-18 13:53:05 +00:00
man/NetworkManager.conf.5 \
2017-02-13 16:07:38 +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 \
man/nmtui.1
2016-10-18 13:53:05 +00:00
man_pages_autogen += \
2017-02-13 16:07:38 +00:00
man/nm-settings-keyfile.5 \
man/nm-settings.5
2016-10-18 13:53:05 +00:00
2017-10-30 16:32:30 +00:00
i f W I T H _ O P E N V S W I T C H
man_pages += man/nm-openvswitch.7
e l s e
EXTRA_DIST += man/nm-openvswitch.7
dist_dependencies += man/nm-openvswitch.7
e n d i f
2016-10-18 13:53:05 +00:00
i f C O N F I G _ P L U G I N _ I F C F G _ R H
man_pages_autogen += man/nm-settings-ifcfg-rh.5
e l s e
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
e n d i f
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) ) ) \
2016-10-18 13:53:05 +00:00
$( man_pages_autogen)
2017-02-13 23:17:32 +00:00
i f H A V E _ D O C S
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 ; \
ln -f $( DESTDIR) $( mandir) /man5/NetworkManager.conf.5 $( DESTDIR) $( mandir) /man5/nm-system-settings.conf.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 ; \
rm -f $( DESTDIR) $( mandir) /man5/nm-system-settings.conf.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
e n d i f
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
i f B U I L D _ D O C S
CLEANFILES += $( man_pages)
CLEANFILES += $( man_pages_autogen)
2016-10-18 13:53:05 +00:00
e n d i f
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
###############################################################################
i f E N A B L E _ V A P I G E N
2016-10-27 10:40:27 +00:00
VAPIGEN_VAPIS += \
vapi/libnm.vapi
2016-10-18 12:01:56 +00:00
i f W I T H _ L E G A C Y _ L I B R A R I E S
VAPIGEN_VAPIS += \
vapi/libnm-util.vapi \
vapi/libnm-glib.vapi
e n d i f
2016-11-22 17:25:03 +00:00
vapi/libnm.vapi : $( builddir ) /libnm /NM -1.0.gir vapi /libnm .deps vapi /NM -1.0.metadata
vapi/libnm-util.vapi : $( builddir ) /libnm -util /NetworkManager -1.0.gir vapi /libnm -util .deps vapi /NetworkManager -1.0.metadata
vapi/libnm-glib.vapi : $( builddir ) /libnm -glib /NMClient -1.0.gir vapi /libnm -glib .deps vapi /NMClient -1.0.metadata vapi /libnm -util .vapi
2016-10-18 12:01:56 +00:00
2016-10-27 10:40:27 +00:00
vapi_libnm_vapi_METADATADIRS = $( srcdir) /vapi
2016-11-22 17:25:03 +00:00
vapi_libnm_vapi_FILES = $( builddir) /libnm/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_libnm_util_vapi_METADATADIRS = $( srcdir) /vapi
2016-11-22 17:25:03 +00:00
vapi_libnm_util_vapi_FILES = $( builddir) /libnm-util/NetworkManager-1.0.gir
2016-10-18 12:01:56 +00:00
vapi_libnm_glib_vapi_METADATADIRS = $( srcdir) /vapi
2016-11-22 17:25:03 +00:00
vapi_libnm_glib_vapi_FILES = $( builddir) /libnm-glib/NMClient-1.0.gir
2016-10-26 14:21:53 +00:00
vapi_libnm_glib_vapi_VAPIDIRS = $( builddir) /vapi
2016-11-22 17:25:03 +00:00
vapi_libnm_glib_vapi_GIRDIRS = $( builddir) /libnm-util
2017-03-24 10:26:55 +00:00
vapi_libnm_glib_vapi_DEPS = gio-2.0 dbus-glib-1 libnm-util
2016-10-18 12:01:56 +00:00
vapi_DATA += \
$( VAPIGEN_VAPIS) \
$( VAPIGEN_VAPIS:.vapi= .deps)
CLEANFILES += $( VAPIGEN_VAPIS)
e n d i f
EXTRA_DIST += \
2016-11-03 13:00:04 +00:00
vapi/NM-1.0.metadata \
2016-10-18 12:01:56 +00:00
vapi/NetworkManager-1.0.metadata \
vapi/NMClient-1.0.metadata \
2016-11-03 12:49:09 +00:00
vapi/libnm.deps \
2016-10-18 12:01:56 +00:00
vapi/libnm-util.deps \
2018-01-08 12:06:54 +00:00
vapi/libnm-glib.deps \
vapi/meson.build
2016-10-18 12:01:56 +00:00
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)
2016-10-15 20:28:34 +00:00
dbusservice_DATA += src/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
i f E N A B L E _ T E S T S
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)
e l s e
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)
e n d i f
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 += \
2009-02-15 16:20:25 +00:00
CONTRIBUTING \
NetworkManager.pc.in \
intltool-extract.in \
intltool-merge.in \
2012-02-08 17:56:52 +00:00
intltool-update.in \
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 \
2016-11-03 17:38:27 +00:00
src/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 \
2016-10-13 11:29:35 +00:00
valgrind.suppressions \
2018-01-08 12:06:54 +00:00
meson.build \
meson_options.txt \
meson_post_install.py \
config.h.meson \
docs/meson.build \
\
po/meson.build \
2016-10-13 11:29:35 +00:00
\
shared/nm-common-macros.h \
shared/nm-dbus-compat.h \
shared/nm-default.h \
shared/nm-dispatcher-api.h \
shared/nm-test-libnm-utils.h \
shared/nm-test-utils-impl.c \
2017-07-08 11:30:00 +00:00
shared/nm-utils/c-list-util.c \
shared/nm-utils/c-list-util.h \
2016-10-13 11:29:35 +00:00
shared/nm-utils/gsystem-local-alloc.h \
2017-12-19 13:27:18 +00:00
shared/nm-utils/nm-c-list.h \
2017-11-20 16:02:42 +00:00
shared/nm-utils/nm-compat.c \
shared/nm-utils/nm-compat.h \
2016-10-13 11:29:35 +00:00
shared/nm-utils/nm-glib.h \
2017-11-09 13:56:44 +00:00
shared/nm-utils/nm-jansson.h \
all: add base object type in "nm-obj.h"
Platform has it's own, simple implementation of object types:
NMPObject. Extract a base type and move it to "shared/nm-utils/nm-obj.h"
so it can be reused.
The base type is trival, but it allows us to implement other objects
which are compatible with NMPObjects. Currently there is no API for generic
NMObjBaseInst type, so compatible in this case only means, that they
can be used in the same context (see example below).
The only thing that you can do with a NMObjBaseInst is check it's
NMObjBaseClass.
Incidentally, NMObjBaseInst is also made compatible to GTypeInstance.
It means, an NMObjBaseInst is not necessarily a valid GTypeInstance (like NMPObject
is not), but it could be implemented as such.
For example, you could do:
if (NMP_CLASS_IS_VALID ((NMPClass *) obj->klass)) {
/* is an NMPObject */
} else if (G_TYPE_CHECK_INSTANCE_TYPE (obj, NM_TYPE_SOMETHING)) {
/* it a NMSometing GType */
} else {
/* something else? */
}
The reason why NMPObject is not implemented as proper GTypeInstance is
because it would require us to register a GType (like
g_type_register_fundamental). However, then the NMPClass struct can
no longer be const and immutable memory. But we could.
NMObjBaseInst may or may not be a GTypeInstance. In a sense, it's
a base type of GTypeInstance and all our objects should be based
on it (optionally, they we may make them valid GTypes too).
2017-06-04 18:45:23 +00:00
shared/nm-utils/nm-obj.h \
2016-10-13 11:29:35 +00:00
shared/nm-utils/nm-macros-internal.h \
shared/nm-utils/nm-shared-utils.c \
shared/nm-utils/nm-shared-utils.h \
shared/nm-utils/nm-test-utils.h \
shared/nm-utils/nm-vpn-editor-plugin-call.h \
shared/nm-utils/nm-vpn-plugin-macros.h \
shared/nm-utils/nm-vpn-plugin-utils.c \
shared/nm-utils/nm-vpn-plugin-utils.h \
2017-11-16 09:47:54 +00:00
shared/nm-utils/siphash24.c \
shared/nm-utils/siphash24.h \
2016-10-08 12:38:03 +00:00
shared/nm-utils/unaligned.h \
2016-10-13 11:29:35 +00:00
shared/nm-version-macros.h.in \
2018-01-08 12:06:54 +00:00
shared/meson.build \
2016-10-13 11:29:35 +00:00
\
2016-10-17 12:36:16 +00:00
tools/check-exports.sh \
tools/create-exports-NetworkManager.sh \
tools/debug-helper.py \
tools/run-nm-test.sh \
tools/test-networkmanager-service.py \
tools/test-sudo-wrapper.sh \
tools/enums-to-docbook.pl \
\
2016-10-15 20:28:34 +00:00
src/settings/plugins/README \
2018-01-10 15:37:23 +00:00
src/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
i n c l u d e M a k e f i l e . e x a m p l e s
###############################################################################
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 )
2017-01-29 10:52:41 +00:00
$( 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 0700 $( DESTDIR) $( nmstatedir)
2018-03-18 19:38:49 +00:00
$( mkinstalldirs) -m 0755 $( DESTDIR) $( plugindir)
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 :
2015-12-22 11:18:22 +00:00
cscope -b -q -R -sshared -ssrc -slibnm-core -slibnm -slibnm-glib -slibnm-util -sclients;
2013-04-26 20:42:54 +00:00
2016-10-13 11:39:30 +00:00
###############################################################################
2017-05-23 18:45:39 +00:00
.PRECIOUS : test -suite .log
2017-03-16 15:53:01 +00:00
.DELETE_ON_ERROR :
2016-11-15 09:50:19 +00:00
.PHONY : cscope dist -configure -check $( check_local ) $( dist_hook )