+AH_TEMPLATE(HAVE_EPOLL, [define to enable epoll support])
+AC_ARG_WITH(epoll, AS_HELP_STRING([--with-epoll], [enable epoll(2) support]))
+HAS_EPOLL=""
+if test "$with_epoll" = no; then HAS_EPOLL=no; fi
+if test -z "$HAS_EPOLL"; then
+ AC_CHECK_LIB(c, epoll_ctl, [:], [HAS_EPOLL=no])
+fi
+if test -z "$HAS_EPOLL"; then
+ AC_CHECK_HEADER(sys/epoll.h, [], [HAS_EPOLL=no])
+fi
+if test "$HAS_EPOLL" != no; then HAS_EPOLL=yes; fi
+if test "$with_epoll" = yes -a "$HAS_EPOLL" = no; then
+ AC_MSG_ERROR([*** cannot find epoll support on this system])
+fi
+if test "$HAS_EPOLL" = yes; then
+ AC_DEFINE(HAVE_EPOLL)
+fi
+
+AH_TEMPLATE(HAVE_KQUEUE, [define to enable kqueue support])
+AC_ARG_WITH(kqueue, AS_HELP_STRING([--with-kqueue], [enable kqueue(2) support]))
+HAS_KQUEUE=""
+if test "$with_kqueue" = no; then HAS_QUEUE=no; fi
+if test -z "$HAS_KQUEUE"; then
+ AC_CHECK_FUNC(kqueue, [], [HAS_KQUEUE=no])
+fi
+if test -z "$HAS_KQUEUE"; then
+ AC_CHECK_HEADER(sys/event.h, [], [HAS_KQUEUE=no])
+fi
+if test "$HAS_KQUEUE" != no; then HAS_KQUEUE=yes; fi
+if test "$with_kqueue" = yes -a "$HAS_KQUEUE" = no; then
+ AC_MSG_ERROR([*** cannot find kqueue support on this system])
+fi
+if test "$HAS_KQUEUE" = yes; then
+ AC_DEFINE(HAVE_KQUEUE)
+fi
+
+AM_CONDITIONAL(USE_EPOLL, [test "$HAS_EPOLL" = yes])
+AM_CONDITIONAL(USE_KQUEUE, [test "$HAS_KQUEUE" = yes])
+