summaryrefslogtreecommitdiffhomepage
path: root/auto
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
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')
-rwxr-xr-xauto/configure6
-rw-r--r--auto/have8
-rw-r--r--auto/lib/md5/conf4
-rw-r--r--auto/make29
-rw-r--r--auto/modules32
-rw-r--r--auto/options16
-rw-r--r--auto/os/conf12
-rw-r--r--auto/os/freebsd24
-rw-r--r--auto/os/linux42
-rw-r--r--auto/os/solaris22
-rw-r--r--auto/sources26
11 files changed, 142 insertions, 79 deletions
diff --git a/auto/configure b/auto/configure
index 6d3fc5266..4287a4e8e 100755
--- a/auto/configure
+++ b/auto/configure
@@ -3,15 +3,17 @@
. auto/init
. auto/sources
+echo > $NGX_AUTO_CONFIG_H
+
. auto/os/conf
+. auto/modules
. auto/cc
. auto/lib/conf
+
. auto/make
. auto/lib/make
-echo > $NGX_AUTO_CONFIG_H
-
if [ "$PLATFORM" != win32 ]; then
. auto/unix
fi
diff --git a/auto/have b/auto/have
new file mode 100644
index 000000000..04cc1030d
--- /dev/null
+++ b/auto/have
@@ -0,0 +1,8 @@
+
+cat << END >> $NGX_AUTO_CONFIG_H
+
+#ifndef $have
+#define $have 1
+#endif
+
+END
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index e1755c1fc..1a54ed56a 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -4,7 +4,7 @@ if [ $MD5 != NO ]; then
if grep MD5_Init $MD5/md5.h >/dev/null; then
# OpenSSL md5
OPENSSL_MD5=YES
- CFLAGS="$CFLAGS -D HAVE_OPENSSL_MD5"
+ have=HAVE_OPENSSL_MD5 . auto/have
else
# rsaref md5
OPENSSL_MD5=NO
@@ -60,7 +60,7 @@ ngx_lib_inc="#include <sys/types.h>
if [ $ngx_found = yes ]; then
- CFLAGS="$CFLAGS -D HAVE_OPENSSL_MD5"
+ have=HAVE_OPENSSL_MD5 . auto/have
CORE_LIBS="$CORE_LIBS $ngx_libs"
MD5=YES
fi
diff --git a/auto/make b/auto/make
index a44963e13..1394a1d21 100644
--- a/auto/make
+++ b/auto/make
@@ -4,35 +4,6 @@ mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
$OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy
-HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES \
- $HTTP_CHUNKED_FILTER_MODULE \
- $HTTP_RANGE_FILTER_MODULE \
- $HTTP_CHARSET_FILTER_MODULE"
-
-HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"
-
-if [ $HTTP_REWRITE = YES ]; then
- HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
- HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
-fi
-
-if [ $HTTP_GZIP = YES ]; then
- HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
- HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
-fi
-
-if [ $HTTP_SSI = YES ]; then
- HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
- HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
-fi
-
-if [ $HTTP_PROXY = YES ]; then
- HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
- HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
- HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
- HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
-fi
-
modules="$CORE_MODULES $EVENT_MODULES $HTTP_MODULES \
$HTTP_FILTER_MODULES $HTTP_NOT_MODIFIED_FILTER_MODULE"
diff --git a/auto/modules b/auto/modules
new file mode 100644
index 000000000..b254e3493
--- /dev/null
+++ b/auto/modules
@@ -0,0 +1,32 @@
+
+HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES \
+ $HTTP_CHUNKED_FILTER_MODULE \
+ $HTTP_RANGE_FILTER_MODULE \
+ $HTTP_CHARSET_FILTER_MODULE"
+
+HTTP_MODULES="$HTTP_MODULES $HTTP_STATIC_MODULE $HTTP_INDEX_MODULE"
+
+if [ $HTTP_REWRITE = YES ]; then
+ USE_PCRE=YES
+ HTTP_MODULES="$HTTP_MODULES $HTTP_REWRITE_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_REWRITE_SRCS"
+fi
+
+if [ $HTTP_GZIP = YES ]; then
+ USE_ZLIB=YES
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_GZIP_FILTER_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_GZIP_SRCS"
+fi
+
+if [ $HTTP_SSI = YES ]; then
+ HTTP_FILTER_MODULES="$HTTP_FILTER_MODULES $HTTP_SSI_FILTER_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_SSI_SRCS"
+fi
+
+if [ $HTTP_PROXY = YES ]; then
+ USE_MD5=YES
+ HTTP_MODULES="$HTTP_MODULES $HTTP_PROXY_MODULE"
+ HTTP_INCS="$HTTP_INCS $HTTP_PROXY_INCS"
+ HTTP_DEPS="$HTTP_DEPS $HTTP_PROXY_DEPS"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
+fi
diff --git a/auto/options b/auto/options
index 91b9b1b7a..61e446ea0 100644
--- a/auto/options
+++ b/auto/options
@@ -8,8 +8,11 @@ TEST_BUILD_DEVPOLL=NO
TEST_BUILD_EPOLL=NO
TEST_BUILD_SIGIO=NO
-SELECT=YES
-POLL=YES
+EVENT_FOUND=NO
+
+EVENT_SELECT=NO
+EVENT_POLL=NO
+EVENT_AIO=NO
HTTP_REWRITE=YES
HTTP_GZIP=YES
@@ -18,11 +21,11 @@ HTTP_PROXY=YES
PCRE=NO
-USE_MD5=YES
+USE_MD5=NO
MD5=NO
MD5_LIB=NO
-USE_ZLIB=YES
+USE_ZLIB=NO
ZLIB=NO
ZLIB_LIB=NO
@@ -41,8 +44,9 @@ do
--builddir=*) OBJS="$value" ;;
- --without-select_module) SELECT=NO ;;
- --without-poll_module) POLL=NO ;;
+ --with-select_module) EVENT_SELECT=YES ;;
+ --with-poll_module) EVENT_POLL=YES ;;
+ --with-aio_module) EVENT_AIO=YES ;;
--without-http_rewrite_module) HTTP_REWRITE=NO ;;
--without-http_ssi_module) HTTP_SSI=NO ;;
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"
diff --git a/auto/sources b/auto/sources
index 1a21c70a4..26a492b72 100644
--- a/auto/sources
+++ b/auto/sources
@@ -41,8 +41,8 @@ CORE_SRCS="src/core/nginx.c \
src/core/ngx_garbage_collector.c"
-REGEX_DEPS="src/core/ngx_regex.h"
-REGEX_SRCS="src/core/ngx_regex.c"
+REGEX_DEPS=src/core/ngx_regex.h
+REGEX_SRCS=src/core/ngx_regex.c
EVENT_MODULES="ngx_events_module ngx_event_core_module"
@@ -62,29 +62,33 @@ EVENT_SRCS="src/event/ngx_event.c \
src/event/ngx_event_pipe.c"
-SELECT_MODULE="ngx_select_module"
+SELECT_MODULE=ngx_select_module
SELECT_SRCS=src/event/modules/ngx_select_module.c
-POLL_MODULE="ngx_poll_module"
+POLL_MODULE=ngx_poll_module
POLL_SRCS=src/event/modules/ngx_poll_module.c
-KQUEUE_MODULE="ngx_kqueue_module"
+KQUEUE_MODULE=ngx_kqueue_module
KQUEUE_SRCS=src/event/modules/ngx_kqueue_module.c
-DEVPOLL_MODULE="ngx_devpoll_module"
+DEVPOLL_MODULE=ngx_devpoll_module
DEVPOLL_SRCS=src/event/modules/ngx_devpoll_module.c
-EPOLL_MODULE="ngx_epoll_module"
+EPOLL_MODULE=ngx_epoll_module
EPOLL_SRCS=src/event/modules/ngx_epoll_module.c
-SIGIO_MODULE="ngx_sigio_module"
+SIGIO_MODULE=ngx_sigio_module
SIGIO_SRCS=src/event/modules/ngx_sigio_module.c
-IOCP_MODULE="ngx_iocp_module"
+IOCP_MODULE=ngx_iocp_module
IOCP_SRCS=src/event/modules/ngx_iocp_module.c
-AIO_MODULE="ngx_aio_module"
-AIO_SRCS=src/event/modules/ngx_aio_module.c
+AIO_MODULE=ngx_aio_module
+AIO_SRCS="src/event/modules/ngx_aio_module.c \
+ src/os/unix/ngx_aio_read.c \
+ src/os/unix/ngx_aio_write.c \
+ src/os/unix/ngx_aio_read_chain.c \
+ src/os/unix/ngx_aio_write_chain.c"
UNIX_INCS="$CORE_INCS $EVENT_INCS -I src/os/unix"