[Openvpn-devel,v3] Fix building with --enable-async-push in FreeBSD
Commit Message
This option can be used in FreedBSD with devel/libinotify
installed.
Detect presence of libinotify with pkgconf and use its word
to compile and link.
Signed-off-by: Lev Stipakov <lstipakov@gmail.com>
---
v3: use _CFLAGS from pkgconf to get include dir
v2: use _LIBS from pkgcong instead of hardcoded -linotify
configure.ac | 26 +++++++++++++++++++++-----
src/openvpn/Makefile.am | 4 +++-
2 files changed, 24 insertions(+), 6 deletions(-)
Comments
Hi,
On Sat, Mar 14, 2020 at 02:59:57AM +0200, Lev Stipakov wrote:
> This option can be used in FreedBSD with devel/libinotify
> installed.
>
> Detect presence of libinotify with pkgconf and use its word
> to compile and link.
>
> Signed-off-by: Lev Stipakov <lstipakov@gmail.com>
> ---
>
> v3: use _CFLAGS from pkgconf to get include dir
>
> v2: use _LIBS from pkgcong instead of hardcoded -linotify
We're getting close :-) - but something is still funny. In the output,
I now have...
checking for OPTIONAL_INOTIFY... yes
../openvpn/configure: ,: not found
checking for CMOCKA... yes
... which is caused by these lines in configure:
------- snip ----------
$as_echo "#define HAVE_SYS_INOTIFY_H 1" >>confdefs.h
,
$as_echo "#define ENABLE_ASYNC_PUSH 1" >>confdefs.h
------- snip ----------
so yes, there's a single line with a "," on it... autoconf 2.69_3
It compiles and links fine, with inotify, but I think we should do a v4
and get rid of the Comma.
thanks,
gert
@@ -1339,11 +1339,25 @@ if test "${enable_plugin_auth_pam}" = "yes"; then
fi
if test "${enable_async_push}" = "yes"; then
- AC_CHECK_HEADERS(
- [sys/inotify.h],
- AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push]),
- AC_MSG_ERROR([inotify.h not found.])
- )
+ case "$host" in
+ *-*-freebsd*)
+ PKG_CHECK_MODULES(
+ [OPTIONAL_INOTIFY],
+ [libinotify],
+ [
+ AC_DEFINE([HAVE_SYS_INOTIFY_H]),
+ AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push])
+ ],
+ )
+ ;;
+ *)
+ AC_CHECK_HEADERS(
+ [sys/inotify.h],
+ AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push]),
+ AC_MSG_ERROR([inotify.h not found.])
+ )
+ ;;
+ esac
fi
CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`"
@@ -1370,6 +1384,8 @@ AC_SUBST([OPTIONAL_LZ4_LIBS])
AC_SUBST([OPTIONAL_SYSTEMD_LIBS])
AC_SUBST([OPTIONAL_PKCS11_HELPER_CFLAGS])
AC_SUBST([OPTIONAL_PKCS11_HELPER_LIBS])
+AC_SUBST([OPTIONAL_INOTIFY_CFLAGS])
+AC_SUBST([OPTIONAL_INOTIFY_LIBS])
AC_SUBST([PLUGIN_AUTH_PAM_CFLAGS])
AC_SUBST([PLUGIN_AUTH_PAM_LIBS])
@@ -28,6 +28,7 @@ AM_CFLAGS = \
$(OPTIONAL_LZO_CFLAGS) \
$(OPTIONAL_LZ4_CFLAGS) \
$(OPTIONAL_PKCS11_HELPER_CFLAGS) \
+ $(OPTIONAL_INOTIFY_CFLAGS) \
-DPLUGIN_LIBDIR=\"${plugindir}\"
if WIN32
@@ -137,7 +138,8 @@ openvpn_LDADD = \
$(OPTIONAL_CRYPTO_LIBS) \
$(OPTIONAL_SELINUX_LIBS) \
$(OPTIONAL_SYSTEMD_LIBS) \
- $(OPTIONAL_DL_LIBS)
+ $(OPTIONAL_DL_LIBS) \
+ $(OPTIONAL_INOTIFY_LIBS)
if WIN32
openvpn_SOURCES += openvpn_win32_resources.rc block_dns.c block_dns.h ring_buffer.c ring_buffer.h
openvpn_LDADD += -lgdi32 -lws2_32 -lwininet -lcrypt32 -liphlpapi -lwinmm -lfwpuclnt -lrpcrt4 -lncrypt -lsetupapi