mirror of
https://github.com/nginx/nginx.git
synced 2025-07-30 01:46:14 +08:00

*) Access log: fixed redundant buffer reallocation. Previously a new buffer was allocated for every "access_log" directive with the same file path and "buffer=" parameters, while only one buffer per file is used. *) Reopening log files code moved to a separate function. The code refactored in a way to call custom handler that can do appropriate cleanup work (if any), like flushing buffers, finishing compress streams, finalizing connections to log daemon, etc.. *) Access log: the "flush" parameter of the "access_log" directive. *) Configure: added the NGX_ZLIB define. This was introduced for conditional compilation of the code that requires the zlib library. *) Access log: the "gzip" parameter of the "access_log" directive. Note: this requires zlib version 1.2.0.4 or above to work. *) The data pointer in ngx_open_file_t objects must be initialized. Uninitialized pointer may result in arbitrary segfaults if access_log is used without buffer and without variables in file path. Patch by Tatsuhiko Kubo (ticket #268).
80 lines
2.0 KiB
Plaintext
80 lines
2.0 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
if [ $ZLIB != NONE ]; then
|
|
CORE_INCS="$CORE_INCS $ZLIB"
|
|
|
|
case "$NGX_CC_NAME" in
|
|
|
|
msvc* | owc* | bcc)
|
|
have=NGX_ZLIB . auto/have
|
|
LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
|
|
;;
|
|
|
|
icc*)
|
|
have=NGX_ZLIB . auto/have
|
|
LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
|
|
|
|
# to allow -ipo optimization we link with the *.o but not library
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/adler32.o"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/crc32.o"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/deflate.o"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/trees.o"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/zutil.o"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/compress.o"
|
|
|
|
if [ $ZLIB_ASM != NO ]; then
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/match.o"
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
have=NGX_ZLIB . auto/have
|
|
LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
|
|
CORE_LIBS="$CORE_LIBS $ZLIB/libz.a"
|
|
#CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
if [ "$NGX_PLATFORM" != win32 ]; then
|
|
ZLIB=NO
|
|
|
|
# FreeBSD, Solaris, Linux
|
|
|
|
ngx_feature="zlib library"
|
|
ngx_feature_name="NGX_ZLIB"
|
|
ngx_feature_run=no
|
|
ngx_feature_incs="#include <zlib.h>"
|
|
ngx_feature_path=
|
|
ngx_feature_libs="-lz"
|
|
ngx_feature_test="z_stream z; deflate(&z, Z_NO_FLUSH)"
|
|
. auto/feature
|
|
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
ZLIB=YES
|
|
ngx_found=no
|
|
fi
|
|
fi
|
|
|
|
if [ $ZLIB != YES ]; then
|
|
cat << END
|
|
|
|
$0: error: the HTTP gzip module requires the zlib library.
|
|
You can either disable the module by using --without-http_gzip_module
|
|
option, or install the zlib library into the system, or build the zlib library
|
|
statically from the source with nginx by using --with-zlib=<path> option.
|
|
|
|
END
|
|
exit 1
|
|
fi
|
|
|
|
fi
|