
CORE_INCS="$UNIX_INCS"
CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
EVENT_MODULES="$EVENT_MODULES"

PIPE="-pipe"


CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"


# epoll, EPOLLET version

ngx_func="epoll";
ngx_func_inc="#include <sys/epoll.h>"
ngx_func_test="int efd = 0, fd = 1, n;
               struct epoll_event ee;
               ee.events = EPOLLIN|EPOLLOUT|EPOLLET;
               ee.data.ptr = NULL;
               n = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ee)"
. auto/func

if [ $ngx_found = yes ]; then
    have=HAVE_EPOLL . auto/have
    have=HAVE_CLEAR_EVENT . auto/have
    CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
    EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
    EVENT_FOUND=YES
fi


# rtsig

if [ $EVENT_RTSIG = YES ]; then
    have=HAVE_RTSIG . auto/have
    EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
    CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
fi


# sendfile()

CC_TEST_FLAGS="-D_GNU_SOURCE"
ngx_func="sendfile()";
ngx_func_inc="#include <sys/sendfile.h>"
ngx_func_test="int s = 0, fd = 1;
               ssize_t n; off_t off = 0;
               n = sendfile(s, fd, &off, 1)"
. auto/func

if [ $ngx_found = yes ]; then
    CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
fi


# sendfile64()

CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
ngx_func="sendfile64()"; . auto/func


# prctl(PR_SET_DUMPABLE)

ngx_func="prctl()";
ngx_func_inc="#include <sys/prctl.h>"
ngx_func_test="prctl(PR_SET_DUMPABLE, 1, 0, 0, 0)"
. auto/func

if [ $ngx_found = yes ]; then
    have=HAVE_PR_SET_DUMPABLE . auto/have
fi
