summaryrefslogtreecommitdiffhomepage
path: root/auto/os/conf
diff options
context:
space:
mode:
Diffstat (limited to 'auto/os/conf')
-rw-r--r--auto/os/conf69
1 files changed, 54 insertions, 15 deletions
diff --git a/auto/os/conf b/auto/os/conf
index abffbe3d8..5154f2bba 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -31,21 +31,7 @@ case $PLATFORM in
;;
win32)
- CORE_INCS="$WIN32_INCS"
- CORE_DEPS="$WIN32_DEPS"
- CORE_SRCS="$WIN32_SRCS $IOCP_SRCS"
- OS_CONFIG="$WIN32_CONFIG"
- EVENT_MODULES="$EVENT_MODULES $IOCP_MODULE"
- EVENT_FOUND=YES
-
- if [ $EVENT_SELECT = NO ]; then
- CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
- EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
- fi
-
- have=HAVE_AIO . auto/have
- have=HAVE_IOCP . auto/have
- CORE_LIBS="$CORE_LIBS ws2_32.lib"
+ . auto/os/win32
;;
*)
@@ -55,3 +41,56 @@ case $PLATFORM in
;;
esac
+
+
+if [ $PLATFORM != win32 ]; then
+
+ ngx_feature="/dev/poll"
+ ngx_feature_name="devpoll"
+ ngx_feature_run=no
+ ngx_feature_incs="#include <sys/devpoll.h>"
+ ngx_feature_libs=
+ ngx_feature_test="int n, dp; struct dvpoll dvp;
+ dp = 0;
+ dvp.dp_fds = NULL;
+ dvp.dp_nfds = 0;
+ dvp.dp_timeout = 0;
+ n = ioctl(dp, DP_POLL, &dvp)"
+ . auto/feature
+
+ if [ $ngx_found = yes ]; then
+ have=HAVE_DEVPOLL . auto/have
+ CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
+ EVENT_FOUND=YES
+ fi
+
+
+ if test -z "$NGX_KQUEUE_CHECKED"; then
+ ngx_feature="kqueue"
+ ngx_feature_name="kqueue"
+ ngx_feature_run=no
+ ngx_feature_incs="#include <sys/event.h>"
+ ngx_feature_libs=
+ ngx_feature_test="int kq; kq = kqueue()"
+ . auto/feature
+
+ if [ $ngx_found = yes ]; then
+
+ have=HAVE_KQUEUE . auto/have
+ have=HAVE_CLEAR_EVENT . auto/have
+ EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
+ CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
+ EVENT_FOUND=YES
+
+ ngx_feature="kqueue's NOTE_LOWAT"
+ ngx_feature_name="HAVE_LOWAT_EVENT"
+ ngx_feature_run=no
+ ngx_feature_incs="#include <sys/event.h>"
+ ngx_feature_libs=
+ ngx_feature_test="struct kevent kev;
+ kev.fflags = NOTE_LOWAT;"
+ . auto/feature
+ fi
+ fi
+fi