Browse code

Fix building with --enable-async-push in FreeBSD

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.

Trac: #1256

Signed-off-by: Lev Stipakov <lstipakov@gmail.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20200314052906.28095-1-lstipakov@gmail.com>
URL: https://www.mail-archive.com/search?l=mid&q=20200314052906.28095-1-lstipakov@gmail.com
Signed-off-by: Gert Doering <gert@greenie.muc.de>

Lev Stipakov authored on 2020/03/14 14:29:06
Showing 2 changed files
... ...
@@ -1339,11 +1339,25 @@ if test "${enable_plugin_auth_pam}" = "yes"; then
1339 1339
 fi
1340 1340
 
1341 1341
 if test "${enable_async_push}" = "yes"; then
1342
-	AC_CHECK_HEADERS(
1343
-		[sys/inotify.h],
1344
-		AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push]),
1345
-		AC_MSG_ERROR([inotify.h not found.])
1346
-	)
1342
+	case "$host" in
1343
+		*-*-freebsd*)
1344
+			PKG_CHECK_MODULES(
1345
+				[OPTIONAL_INOTIFY],
1346
+				[libinotify],
1347
+				[
1348
+					AC_DEFINE([HAVE_SYS_INOTIFY_H])
1349
+					AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push])
1350
+				]
1351
+			)
1352
+		;;
1353
+		*)
1354
+			AC_CHECK_HEADERS(
1355
+				[sys/inotify.h],
1356
+				AC_DEFINE([ENABLE_ASYNC_PUSH], [1], [Enable async push]),
1357
+				AC_MSG_ERROR([inotify.h not found.])
1358
+			)
1359
+		;;
1360
+	esac
1347 1361
 fi
1348 1362
 
1349 1363
 CONFIGURE_DEFINES="`set | grep '^enable_.*=' ; set | grep '^with_.*='`"
... ...
@@ -1370,6 +1384,8 @@ AC_SUBST([OPTIONAL_LZ4_LIBS])
1370 1370
 AC_SUBST([OPTIONAL_SYSTEMD_LIBS])
1371 1371
 AC_SUBST([OPTIONAL_PKCS11_HELPER_CFLAGS])
1372 1372
 AC_SUBST([OPTIONAL_PKCS11_HELPER_LIBS])
1373
+AC_SUBST([OPTIONAL_INOTIFY_CFLAGS])
1374
+AC_SUBST([OPTIONAL_INOTIFY_LIBS])
1373 1375
 
1374 1376
 AC_SUBST([PLUGIN_AUTH_PAM_CFLAGS])
1375 1377
 AC_SUBST([PLUGIN_AUTH_PAM_LIBS])
... ...
@@ -28,6 +28,7 @@ AM_CFLAGS = \
28 28
 	$(OPTIONAL_LZO_CFLAGS) \
29 29
 	$(OPTIONAL_LZ4_CFLAGS) \
30 30
 	$(OPTIONAL_PKCS11_HELPER_CFLAGS) \
31
+	$(OPTIONAL_INOTIFY_CFLAGS) \
31 32
 	-DPLUGIN_LIBDIR=\"${plugindir}\"
32 33
 
33 34
 if WIN32
... ...
@@ -137,7 +138,8 @@ openvpn_LDADD = \
137 137
 	$(OPTIONAL_CRYPTO_LIBS) \
138 138
 	$(OPTIONAL_SELINUX_LIBS) \
139 139
 	$(OPTIONAL_SYSTEMD_LIBS) \
140
-	$(OPTIONAL_DL_LIBS)
140
+	$(OPTIONAL_DL_LIBS) \
141
+	$(OPTIONAL_INOTIFY_LIBS)
141 142
 if WIN32
142 143
 openvpn_SOURCES += openvpn_win32_resources.rc block_dns.c block_dns.h ring_buffer.c ring_buffer.h
143 144
 openvpn_LDADD += -lgdi32 -lws2_32 -lwininet -lcrypt32 -liphlpapi -lwinmm -lfwpuclnt -lrpcrt4 -lncrypt -lsetupapi