summaryrefslogtreecommitdiffhomepage
path: root/auto/os
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-02-02 21:19:52 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-02-02 21:19:52 +0000
commita4b16df728abe1e989a8311e901ba5d9ae30328e (patch)
tree35d3d0ba37e1c285421688846c2954aa297a642c /auto/os
parent328af6e8cd26f274bf385cfff3c888725746ea4f (diff)
downloadnginx-a4b16df728abe1e989a8311e901ba5d9ae30328e.tar.gz
nginx-a4b16df728abe1e989a8311e901ba5d9ae30328e.tar.bz2
nginx-0.0.2-2004-02-03-00:19:52 import
Diffstat (limited to 'auto/os')
-rw-r--r--auto/os/conf12
-rw-r--r--auto/os/freebsd24
-rw-r--r--auto/os/linux42
-rw-r--r--auto/os/solaris22
4 files changed, 71 insertions, 29 deletions
diff --git a/auto/os/conf b/auto/os/conf
index 27e0123b4..99de323e1 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -43,6 +43,18 @@ case $PLATFORM in
esac
+if [ $EVENT_SELECT = YES -o $EVENT_FOUND = NO ]; then
+ CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
+fi
+
+
+if [ $EVENT_POLL = YES -o $EVENT_FOUND = NO ]; then
+ CORE_SRCS="$CORE_SRCS $POLL_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
+fi
+
+
if [ $TEST_BUILD_DEVPOLL = YES ]; then
CFLAGS="$CFLAGS -D HAVE_DEVPOLL=1 -D TEST_BUILD_DEVPOLL=1"
EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
diff --git a/auto/os/freebsd b/auto/os/freebsd
index 9684102d5..ee6854347 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -7,16 +7,6 @@ CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"
MD5_LIB="-lmd"
ZLIB_LIB="-lz"
-if [ $SELECT = YES ]; then
- CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
- EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
-fi
-
-if [ $POLL = YES ]; then
- CORE_SRCS="$CORE_SRCS $POLL_SRCS"
- EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
-fi
-
version=`grep "#define __FreeBSD_version" /usr/include/osreldate.h \
| sed -e 's/^.* \(.*\)$/\1/'`
@@ -24,7 +14,7 @@ version=`grep "#define __FreeBSD_version" /usr/include/osreldate.h \
# sendfile
if [ $version -gt 300007 ]; then
- CFLAGS="$CFLAGS -D HAVE_SENDFILE=1"
+ have=HAVE_SENDFILE . auto/have
CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
fi
@@ -34,9 +24,11 @@ fi
if [ \( $version -lt 500000 -a $version -ge 410000 \) \
-o $version -ge 500011 ]
then
- CFLAGS="$CFLAGS -D HAVE_KQUEUE=1 -D HAVE_CLEAR_EVENT=1"
+ have=HAVE_KQUEUE . auto/have
+ have=HAVE_CLEAR_EVENT . auto/have
CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
+ EVENT_FOUND=YES
fi
@@ -45,5 +37,11 @@ fi
if [ \( $version -lt 500000 -a $version -ge 430000 \) \
-o $version -ge 500018 ]
then
- CFLAGS="$CFLAGS -D HAVE_LOWAT_EVENT=1"
+ have=HAVE_LOWAT_EVENT . auto/have
+fi
+
+
+if [ $EVENT_AIO = YES ]; then
+ CORE_SRCS="$CORE_SRCS $AIO_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $AIO_MODULE"
fi
diff --git a/auto/os/linux b/auto/os/linux
index 8990e6d19..effb4723f 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -6,19 +6,49 @@ EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
ZLIB_LIB="-lz"
+CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+
+# epoll, EPOLLET version
-NGX_INC="sys/epoll.h"; . auto/inc
+ngx_func="epoll";
+ngx_func_inc="#include <sys/epoll.h>"
+ngx_func_test="int fd = 1; int 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
+if [ $ngx_found = yes ]; then
CFLAGS="$CFLAGS -D HAVE_EPOLL=1"
- EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
+ EVENT_FOUND=YES
fi
-# TODO check sendfile64()
+# 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
+ CFLAGS="$CFLAGS -D HAVE_SENDFILE=1"
+ 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
-# STUB
-CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
+if [ $ngx_found = yes ]; then
+ CFLAGS="$CFLAGS -D HAVE_SENDFILE64=1"
+fi
diff --git a/auto/os/solaris b/auto/os/solaris
index 6bc2a6f82..2fd479f17 100644
--- a/auto/os/solaris
+++ b/auto/os/solaris
@@ -6,29 +6,31 @@ EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
MD5_LIB="-lmd5"
ZLIB_LIB="-lz"
+CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
CC_TEST_FLAGS="-D_FILE_OFFSET_BITS=64"
-CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
-
-NGX_INC="sys/devpoll.h"; . auto/inc
+ngx_inc="sys/devpoll.h"; . auto/inc
-if [ $NGX_FOUND=YES ]; then
+if [ $ngx_found = yes ]; then
CFLAGS="$CFLAGS -D HAVE_DEVPOLL=1"
- EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
+ EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
+ EVENT_FOUND=YES
fi
-NGX_FUNC_INC="#include <sys/sendfile.h>"
-NGX_FUNC_LIBS="-lsendfile"
-NGX_FUNC_TEST="int fd = 1; sendfilevec_t vec[1];
+ngx_func="sendfilev()";
+ngx_func_inc="#include <sys/sendfile.h>"
+ngx_func_libs="-lsendfile"
+ngx_func_test="int fd = 1; sendfilevec_t vec[1];
size_t sent = 1; ssize_t n;
n = sendfilev(fd, vec, 1, &sent)"
-NGX_FUNC="sendfilev()"; . auto/func
+. auto/func
+
-if [ $NGX_FOUND=YES ]; then
+if [ $ngx_found = yes ]; then
CFLAGS="$CFLAGS -D HAVE_SENDFILE=1"
CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
CORE_LIBS="$CORE_LIBS -lsendfile"