summaryrefslogtreecommitdiffstats
path: root/m4/notify.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/notify.m4')
-rw-r--r--m4/notify.m441
1 files changed, 41 insertions, 0 deletions
diff --git a/m4/notify.m4 b/m4/notify.m4
new file mode 100644
index 0000000..e4da4b9
--- /dev/null
+++ b/m4/notify.m4
@@ -0,0 +1,41 @@
+AC_DEFUN([DOVECOT_NOTIFY], [
+ have_notify=none
+
+ if test "$notify" = "" || test "$notify" = "inotify" ; then
+ dnl * inotify?
+ AC_MSG_CHECKING([whether we can use inotify])
+ if test "$ac_cv_func_inotify_init" = yes; then
+ have_notify=inotify
+ notify=inotify
+ AC_MSG_RESULT("yes")
+ AC_DEFINE(IOLOOP_NOTIFY_INOTIFY,, [Use Linux inotify])
+ else
+ AC_MSG_RESULT("no")
+ if test "$notify" = "inotify"; then
+ AC_MSG_ERROR([inotify requested but not available])
+ notify=""
+ fi
+ fi
+ fi
+
+ if (test "$notify" = "" && test "$ioloop" = kqueue) || test "$notify" = "kqueue"; then
+ dnl * BSD kqueue() notify
+ AC_MSG_CHECKING([whether we can use BSD kqueue() notify])
+ if test "$ac_cv_func_kqueue" = yes && test "$ac_cv_func_kevent" = yes ; then
+ have_notify=kqueue
+ notify=kqueue
+ AC_MSG_RESULT("yes")
+ AC_DEFINE(IOLOOP_NOTIFY_KQUEUE,, [Use BSD kqueue directory changes notification])
+ else
+ AC_MSG_RESULT("no")
+ if test "$notify" = "kqueue" ; then
+ AC_MSG_ERROR([kqueue notify requested but kqueue() is not available])
+ notify=""
+ fi
+ fi
+ fi
+
+ if test "$have_notify" = "none"; then
+ AC_DEFINE(IOLOOP_NOTIFY_NONE,, [No special notify support])
+ fi
+])