diff options
Diffstat (limited to 'auto/os/conf')
| -rw-r--r-- | auto/os/conf | 69 |
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 |
