The libnv check doesn't work as expected on FreeBSD 14.x, because
FreeBSD has namespaced libnv to avoid conflicts with libnvpair.
This means that the naive check generated by AC_CHECK_LIB() fails to
detect libnv even though it's present.
Instead check for the if_ovpn.h header. This is a more accurate check
anyway, as libnv is present on FreeBSD versions prior to 14 (which do
not support DCO).
Signed-off-by: Kristof Provost <kprovost@netgate.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <
20230301091848.80760-1-kprovost@netgate.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26314.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
fi
;;
*-*-freebsd*)
- AC_CHECK_LIB(
- [nv],
- [nvlist_create],
+ AC_CHECK_HEADERS([net/if_ovpn.h],
[
LIBS="${LIBS} -lnv"
AC_DEFINE(ENABLE_DCO, 1, [Enable data channel offload for FreeBSD])
],
[
enable_dco="no"
- AC_MSG_WARN([Name/Value pair library not found.])
+ AC_MSG_WARN([DCO header not found.])
]
)
if test "$enable_dco" = "no"; then