summaryrefslogtreecommitdiff
path: root/src/external
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2013-08-30 23:13:26 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-09-09 17:17:52 +0200
commit9917c138d9a270deb5820915384fbde751190c2a (patch)
treed36c7bd18c21dc8b42a4b76d83c085b1d5419257 /src/external
parenta31df2979265339f71fe3e2d587c4176375b1eff (diff)
downloadsssd-9917c138d9a270deb5820915384fbde751190c2a.tar.gz
sssd-9917c138d9a270deb5820915384fbde751190c2a.tar.bz2
sssd-9917c138d9a270deb5820915384fbde751190c2a.zip
AUTOTOOLS: More robust detection of inotify.
We checked only header file "sys/inotify" for detection whether inotify works. Some platforms do not have built in inotify, but contain library, which provides inotify-compatible interface. This patch adds more robust detection of inotify in configuration time and appends linker flags to Makefile if inotify is provided by library.
Diffstat (limited to 'src/external')
-rw-r--r--src/external/inotify.m432
1 files changed, 32 insertions, 0 deletions
diff --git a/src/external/inotify.m4 b/src/external/inotify.m4
new file mode 100644
index 00000000..9572f6d2
--- /dev/null
+++ b/src/external/inotify.m4
@@ -0,0 +1,32 @@
+dnl A macro to check if inotify works
+AC_DEFUN([AM_CHECK_INOTIFY],
+[
+ AC_CHECK_HEADERS([sys/inotify.h])
+
+ AC_MSG_CHECKING([whether sys/inotify.h actually works])
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE([
+#ifdef HAVE_SYS_INOTITY_H
+#include <sys/inotify.h>,
+#endif
+int main () {
+ return (-1 == inotify_init());
+}])],
+ [AC_MSG_RESULT([yes]); inotify_works=yes],
+ [AC_MSG_RESULT([no])]
+ )
+
+ SSS_AC_EXPAND_LIB_DIR()
+ AS_IF([test x"$inotify_works" != xyes],
+ [AC_CHECK_LIB([inotify],
+ [inotify_init],
+ [INOTIFY_LIBS="$sss_extra_libdir -linotify"
+ inotify_works=yes],
+ [inotify_works=no],
+ [$sss_extra_libdir])]
+ )
+
+ AS_IF([test x"$inotify_works" = xyes],
+ [AC_DEFINE_UNQUOTED([HAVE_INOTIFY], [1], [Inotify works])])
+ AC_SUBST(INOTIFY_LIBS)
+])