aboutsummaryrefslogtreecommitdiff
path: root/auto
diff options
context:
space:
mode:
Diffstat (limited to 'auto')
-rw-r--r--auto/options2
-rw-r--r--auto/os/conf9
-rw-r--r--auto/os/linux9
-rw-r--r--auto/sources3
4 files changed, 22 insertions, 1 deletions
diff --git a/auto/options b/auto/options
index 3064a950d..5311af5a5 100644
--- a/auto/options
+++ b/auto/options
@@ -5,6 +5,7 @@ CC=gcc
OBJS=objs
TEST_BUILD_DEVPOLL=NO
+TEST_BUILD_EPOLL=NO
SELECT=YES
POLL=YES
@@ -54,6 +55,7 @@ do
--with-zlib=*) ZLIB="$value" ;;
--test-build-devpoll) TEST_BUILD_DEVPOLL=YES ;;
+ --test-build-epoll) TEST_BUILD_EPOLL=YES ;;
*)
echo "$0: error: invalid option \"$option\""
diff --git a/auto/os/conf b/auto/os/conf
index f0d25b647..add6068a8 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -44,6 +44,13 @@ esac
if [ $TEST_BUILD_DEVPOLL = YES ]; then
+ CFLAGS="$CFLAGS -D HAVE_DEVPOLL=1 -D TEST_BUILD_DEVPOLL=1"
EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
- EVENT_SRCS="$EVENT_SRCS $DEVPOLL_SRCS"
+ CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
+fi
+
+if [ $TEST_BUILD_EPOLL = YES ]; then
+ CFLAGS="$CFLAGS -D HAVE_EPOLL=1 -D TEST_BUILD_EPOLL=1"
+ EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
+ CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
fi
diff --git a/auto/os/linux b/auto/os/linux
index bf5092aba..8990e6d19 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -7,6 +7,15 @@ EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
ZLIB_LIB="-lz"
+NGX_INC="sys/epoll.h"; . auto/inc
+
+if [ $NGX_FOUND=YES ]; then
+ CFLAGS="$CFLAGS -D HAVE_EPOLL=1"
+ EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
+ CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
+fi
+
+
# TODO check sendfile64()
CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
diff --git a/auto/sources b/auto/sources
index b352effbb..c83ffa724 100644
--- a/auto/sources
+++ b/auto/sources
@@ -74,6 +74,9 @@ KQUEUE_SRCS=src/event/modules/ngx_kqueue_module.c
DEVPOLL_MODULE="ngx_devpoll_module"
DEVPOLL_SRCS=src/event/modules/ngx_devpoll_module.c
+EPOLL_MODULE="ngx_epoll_module"
+EPOLL_SRCS=src/event/modules/ngx_epoll_module.c
+
IOCP_MODULE="ngx_iocp_module"
IOCP_SRCS=src/event/modules/ngx_iocp_module.c