diff --git a/config.h.meson b/config.h.meson index 7337165082..bda542035b 100644 --- a/config.h.meson +++ b/config.h.meson @@ -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 diff --git a/configure.ac b/configure.ac index d339c856a8..5d746ef81c 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/meson.build b/meson.build index e9d7f16c0e..c108c3bfb5 100644 --- a/meson.build +++ b/meson.build @@ -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') diff --git a/src/core/ppp/nm-pppd-compat.c b/src/core/ppp/nm-pppd-compat.c index fd67eb3493..f7940c5501 100644 --- a/src/core/ppp/nm-pppd-compat.c +++ b/src/core/ppp/nm-pppd-compat.c @@ -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);