diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2004-02-02 21:19:52 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2004-02-02 21:19:52 +0000 |
| commit | a4b16df728abe1e989a8311e901ba5d9ae30328e (patch) | |
| tree | 35d3d0ba37e1c285421688846c2954aa297a642c /auto | |
| parent | 328af6e8cd26f274bf385cfff3c888725746ea4f (diff) | |
| download | nginx-a4b16df728abe1e989a8311e901ba5d9ae30328e.tar.gz nginx-a4b16df728abe1e989a8311e901ba5d9ae30328e.tar.bz2 | |
nginx-0.0.2-2004-02-03-00:19:52 import
Diffstat (limited to 'auto')
| -rwxr-xr-x | auto/configure | 6 | ||||
| -rw-r--r-- | auto/have | 8 | ||||
| -rw-r--r-- | auto/lib/md5/conf | 4 | ||||
| -rw-r--r-- | auto/make | 29 | ||||
| -rw-r--r-- | auto/modules | 32 | ||||
| -rw-r--r-- | auto/options | 16 | ||||
| -rw-r--r-- | auto/os/conf | 12 | ||||
| -rw-r--r-- | auto/os/freebsd | 24 | ||||
| -rw-r--r-- | auto/os/linux | 42 | ||||
| -rw-r--r-- | auto/os/solaris | 22 | ||||
| -rw-r--r-- | auto/sources | 26 |
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 @@ -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" |
