mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-25 02:30:08 +01:00
ppp: detect the ppp version in the configure script
Previously, the ppp version was only detected (and used) at one place, in "nm-pppd-compat.c", after including the ppp headers. That was nice and easy. However, with that way, we could only detect it after including ppp headers, and given the ugliness of ppp headers, we only want to include them in "nm-pppd-compat.c" (and nowhere else). In particular, 'nm-pppd-compat.c" uses symbols from the ppp daemon, it thus can only be linked into a ppp plugin, not in NetworkManager core itself. But at some places we will need to know the ppp version, outside of the ppp plugin and "nm-pppd-compat.c". Additionally, detect it at configure time and place it in "config.h". There is a static assert that we are in agreement with the two ways of detection. (cherry picked from commit3e66c0bde1) (cherry picked from commit65756dca7f)
This commit is contained in:
parent
2695396939
commit
de39f67d72
4 changed files with 13 additions and 0 deletions
|
|
@ -239,6 +239,9 @@
|
|||
/* Define to path of pppd binary */
|
||||
#mesondefine PPPD_PATH
|
||||
|
||||
/* The detected ppp API version */
|
||||
#mesondefine NM_PPP_VERSION_2_5_OR_NEWER
|
||||
|
||||
/* Define if you have iwd support */
|
||||
#mesondefine WITH_IWD
|
||||
|
||||
|
|
|
|||
|
|
@ -754,10 +754,12 @@ fi
|
|||
AC_SUBST(DBUS_SYS_DIR)
|
||||
|
||||
# pppd
|
||||
NM_PPP_VERSION_2_5_OR_NEWER=0
|
||||
PPPD_VERSION=2.4.9
|
||||
PKG_CHECK_EXISTS([pppd], [
|
||||
PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
|
||||
PPPD_CFLAGS=`$PKG_CONFIG --cflags pppd`
|
||||
NM_PPP_VERSION_2_5_OR_NEWER=1
|
||||
])
|
||||
|
||||
AC_ARG_ENABLE(ppp,
|
||||
|
|
@ -783,6 +785,7 @@ else
|
|||
PPPD_PLUGIN_DIR="${libdir}/pppd/$PPPD_VERSION"
|
||||
fi
|
||||
AC_SUBST(PPPD_PLUGIN_DIR)
|
||||
AC_DEFINE_UNQUOTED(NM_PPP_VERSION_2_5_OR_NEWER, $NM_PPP_VERSION_2_5_OR_NEWER, [The detected ppp API version])
|
||||
|
||||
AC_ARG_WITH(pppd, AS_HELP_STRING([--with-pppd=/path/to/pppd], [path to pppd binary]))
|
||||
if test "x${with_pppd}" = x; then
|
||||
|
|
|
|||
|
|
@ -560,10 +560,12 @@ config_h.set10('WITH_FIREWALLD_ZONE', enable_firewalld_zone)
|
|||
|
||||
# pppd
|
||||
enable_ppp = get_option('ppp')
|
||||
NM_PPP_VERSION_2_5_OR_NEWER = 0
|
||||
if enable_ppp
|
||||
pppd_dep = dependency('pppd', required: false)
|
||||
if (pppd_dep.found())
|
||||
pppd_version = pppd_dep.version()
|
||||
NM_PPP_VERSION_2_5_OR_NEWER = 1
|
||||
else
|
||||
assert(cc.has_header('pppd/pppd.h'), 'couldn\'t find pppd.h. pppd development headers are required')
|
||||
pppd_version = '2.4.9'
|
||||
|
|
@ -584,6 +586,7 @@ if enable_ppp
|
|||
endif
|
||||
endif
|
||||
config_h.set10('WITH_PPP', enable_ppp)
|
||||
config_h.set10('NM_PPP_VERSION_2_5_OR_NEWER', NM_PPP_VERSION_2_5_OR_NEWER)
|
||||
|
||||
# ModemManager1 with libmm-glib
|
||||
enable_modem_manager = get_option('modem_manager')
|
||||
|
|
|
|||
|
|
@ -75,6 +75,10 @@ _NM_PRAGMA_WARNING_REENABLE;
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
G_STATIC_ASSERT(PPP_VERSION_2_5_OR_NEWER == NM_PPP_VERSION_2_5_OR_NEWER);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
G_STATIC_ASSERT((gint64) NM_PPP_STATUS_DEAD == PHASE_DEAD);
|
||||
G_STATIC_ASSERT((gint64) NM_PPP_STATUS_INITIALIZE == PHASE_INITIALIZE);
|
||||
G_STATIC_ASSERT((gint64) NM_PPP_STATUS_SERIALCONN == PHASE_SERIALCONN);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue