]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
build: also test directly for -lcap when no pkg-config
authorVincent Bernat <vincent@bernat.im>
Wed, 13 Jun 2018 06:06:45 +0000 (08:06 +0200)
committerVincent Bernat <vincent@bernat.im>
Sat, 16 Jun 2018 15:08:28 +0000 (17:08 +0200)
configure.ac
m4/libcap.m4 [new file with mode: 0644]

index 1af248b5ad82d675361f1f26a3031dc4777d7d77..9b40473ed6cf6d2d1108e264d96ff843377350d3 100644 (file)
@@ -226,9 +226,7 @@ PKG_CHECK_MODULES([check], [check >= 0.9.4], [have_check=yes], [have_check=no])
 
 # Third-party libraries
 lldp_CHECK_LIBEVENT
-PKG_CHECK_MODULES([libcap], [libcap >= 2], [
-  AC_DEFINE([HAVE_LINUX_CAPABILITIES], 1, [Define to indicate support of linux capabilities])
-], [:])
+lldp_CHECK_LIBCAP
 
 # Compatibility with pkg.m4 < 0.27
 m4_ifdef([PKG_INSTALLDIR], [PKG_INSTALLDIR],
diff --git a/m4/libcap.m4 b/m4/libcap.m4
new file mode 100644 (file)
index 0000000..7800336
--- /dev/null
@@ -0,0 +1,25 @@
+#
+# lldp_CHECK_LIBCAP
+#
+
+AC_DEFUN([lldp_CHECK_LIBCAP], [
+    PKG_CHECK_MODULES([libcap], [libcap >= 2], [
+       AC_DEFINE([HAVE_LINUX_CAPABILITIES], 1, [Define to indicate support of linux capabilities])
+    ], [
+      libcap_LIBS=-lcap
+      libcap_CFLAGS=
+      _save_libs="$LIBS"
+      LIBS="$LIBS ${libcap_LIBS}"
+      AC_MSG_CHECKING([libcap (without pkg-config)])
+      AC_TRY_LINK_FUNC([cap_set_proc], [
+         AC_DEFINE([HAVE_LINUX_CAPABILITIES], 1, [Define to indicate support of linux capabilities])
+         AC_MSG_RESULT(yes)
+      ], [
+         libcap_LIBS=
+         AC_MSG_RESULT(no)
+      ])
+      LIBS="$_save_libs"
+    ])
+    AC_SUBST([libcap_LIBS])
+    AC_SUBST([libcap_CFLAGS])
+])