AC_STRUCT_TM
dnl Would rather not bail on headers, BSD has alot of the functions elsewhere. -Jedi
-AC_CHECK_HEADERS(fcntl.h malloc.h netdb.h arpa/inet.h netinet/in.h sys/resource.h sys/timeb.h sys/times.h sys/param.h sys/socket.h sys/time.h sys/types.h sys/wait.h unistd.h getopt.h memory.h regex.h arpa/inet.h sys/mman.h sys/stat.h dirent.h,,)
+AC_CHECK_HEADERS(fcntl.h malloc.h netdb.h arpa/inet.h netinet/in.h sys/resource.h sys/timeb.h sys/times.h sys/param.h sys/socket.h sys/time.h sys/types.h sys/wait.h unistd.h getopt.h memory.h regex.h arpa/inet.h sys/mman.h sys/stat.h dirent.h sys/epoll.h,,)
dnl portability stuff, hurray! -Jedi
AC_CHECK_MEMBER([struct sockaddr.sa_len],
fi
dnl We have fallbacks in case these are missing, so just check for them.
-AC_CHECK_FUNCS(freeaddrinfo getaddrinfo getnameinfo getpagesize memcpy memset strdup strerror strsignal localtime_r setrlimit getopt getopt_long regcomp regexec regfree sysconf inet_aton,,)
+AC_CHECK_FUNCS(freeaddrinfo getaddrinfo getnameinfo getpagesize memcpy memset strdup strerror strsignal localtime_r setrlimit getopt getopt_long regcomp regexec regfree sysconf inet_aton epoll_create select,,)
dnl Check for absolutely required library functions.
-AC_CHECK_FUNCS(select socket strcspn strspn strtod strtoul,,AC_MSG_ERROR([a required function was not found. srvx build will fail.]))
+AC_CHECK_FUNCS(socket strcspn strspn strtod strtoul,,AC_MSG_ERROR([a required function was not found. srvx build will fail.]))
dnl Check for functions (and how to get them).
AC_FUNC_ALLOCA
IOMUXES="$IOMUXES select"
fi
+AC_ARG_WITH([epoll],
+[ --without-epoll Disables the epoll_*() I/O backend],
+[],
+[withval="$ac_cv_func_epoll_create"])
+if test "x$withval" = xyes ; then
+ AC_DEFINE(WITH_IOSET_EPOLL, 1, [Define if using the epoll I/O backend])
+ MODULE_OBJS="$MODULE_OBJS ioset-epoll.\$(OBJEXT)"
+ IOMUXES="$IOMUXES epoll"
+fi
+
IOMUXES=`echo $IOMUXES | sed 's/^ +//'`
-AC_MSG_RESULT($IOMUXES)
+if test "x$IOMUXES" = "x" ; then
+ AC_MSG_ERROR([No supported I/O multiplexing backend found])
+else
+ AC_MSG_RESULT($IOMUXES)
+fi
AC_ARG_WITH(getopt,
[ --without-getopt Disables building of the GNU getopt library],