nginx-0.3.16-RELEASE import
*) Feature: the ngx_http_map_module.
*) Feature: the "types_hash_max_size" and "types_hash_bucket_size"
directives.
*) Feature: the "ssi_value_length" directive.
*) Feature: the "worker_rlimit_core" directive.
*) Workaround: the connection number in logs was always 1 if nginx was
built by the icc 8.1 or 9.0 compilers with optimization for
Pentium 4.
*) Bugfix: the "config timefmt" SSI command set incorrect time format.
*) Bugfix: nginx did not close connection to IMAP/POP3 backend for the
SSL connections; the bug had appeared in 0.3.13.
Thanks to Rob Mueller.
*) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug
had appeared in 0.3.13.
diff --git a/auto/cc/gcc b/auto/cc/gcc
index 9e0e52d..5c5f61c 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -58,26 +58,31 @@
pentium)
# optimize for Pentium and Athlon
CPU_OPT="-march=pentium"
+ NGX_CPU_CACHE_LINE=32
;;
pentiumpro | pentium3)
# optimize for Pentium Pro, Pentium II and Pentium III
CPU_OPT="-march=pentiumpro"
+ NGX_CPU_CACHE_LINE=32
;;
pentium4)
# optimize for Pentium 4, gcc 3.x
CPU_OPT="-march=pentium4"
+ NGX_CPU_CACHE_LINE=128
;;
athlon)
# optimize for Athlon, gcc 3.x
CPU_OPT="-march=athlon"
+ NGX_CPU_CACHE_LINE=64
;;
opteron)
# optimize for Opteron, gcc 3.x
CPU_OPT="-march=opteron"
+ NGX_CPU_CACHE_LINE=64
;;
sparc32)
@@ -85,6 +90,7 @@
CPU_OPT="-m32"
CORE_LINK="$CORE_LINK -m32"
CC_AUX_FLAGS="$CC_AUX_FLAGS -m32"
+ NGX_CPU_CACHE_LINE=64
;;
sparc64)
@@ -92,6 +98,7 @@
CPU_OPT="-m64"
CORE_LINK="$CORE_LINK -m64"
CC_AUX_FLAGS="$CC_AUX_FLAGS -m64"
+ NGX_CPU_CACHE_LINE=64
;;
esac
diff --git a/auto/cc/icc b/auto/cc/icc
index 16cb2bb..1a4111b 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -2,7 +2,7 @@
# Copyright (C) Igor Sysoev
-# Intel C++ compiler 7.1, 8.0, 8.1
+# Intel C++ compiler 7.1, 8.0, 8.1, 9.0
NGX_ICC_VER=`$CC -V 2>&1 | grep 'Version' 2>&1 \
| sed -e 's/^.* Version \(.*\) Build.*$/\1/'`
diff --git a/auto/modules b/auto/modules
index 5940b28..392094e 100644
--- a/auto/modules
+++ b/auto/modules
@@ -160,6 +160,12 @@
HTTP_SRCS="$HTTP_SRCS $HTTP_GEO_SRCS"
fi
+if [ $HTTP_MAP = YES ]; then
+ have=NGX_HTTP_MAP . auto/have
+ HTTP_MODULES="$HTTP_MODULES $HTTP_MAP_MODULE"
+ HTTP_SRCS="$HTTP_SRCS $HTTP_MAP_SRCS"
+fi
+
if [ $HTTP_REFERER = YES ]; then
HTTP_MODULES="$HTTP_MODULES $HTTP_REFERER_MODULE"
HTTP_SRCS="$HTTP_SRCS $HTTP_REFERER_SRCS"
diff --git a/auto/options b/auto/options
index 6c249b1..da00edf 100644
--- a/auto/options
+++ b/auto/options
@@ -57,6 +57,7 @@
HTTP_AUTOINDEX=YES
HTTP_STATUS=NO
HTTP_GEO=YES
+HTTP_MAP=YES
HTTP_REFERER=YES
HTTP_REWRITE=YES
HTTP_PROXY=YES
@@ -89,6 +90,8 @@
ZLIB_OPT=
ZLIB_ASM=NO
+NGX_CPU_CACHE_LINE=
+
for option
do
@@ -139,6 +142,7 @@
--without-http_autoindex_module) HTTP_AUTOINDEX=NO ;;
--without-http_status_module) HTTP_STATUS=NO ;;
--without-http_geo_module) HTTP_GEO=NO ;;
+ --without-http_map_module) HTTP_MAP=NO ;;
--without-http_referer_module) HTTP_REFERER=NO ;;
--without-http_rewrite_module) HTTP_REWRITE=NO ;;
--without-http_proxy_module) HTTP_PROXY=NO ;;
diff --git a/auto/os/conf b/auto/os/conf
index f4ba388..0ddbacb 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -59,12 +59,36 @@
case "$NGX_MACHINE" in
- i386 | i686 | i86pc | amd64)
+ i386 | i686 | i86pc)
have=NGX_HAVE_NONALIGNED . auto/have
+ NGX_MACH_CACHE_LINE=32
;;
- sun4u | sparc | sparc64 | ia64 )
+ amd64)
+ have=NGX_HAVE_NONALIGNED . auto/have
+ NGX_MACH_CACHE_LINE=64
+ ;;
+
+ sun4u | sparc | sparc64)
have=NGX_ALIGNMENT value=16 . auto/define
+ # TODO
+ NGX_MACH_CACHE_LINE=64
+ ;;
+
+ ia64 )
+ have=NGX_ALIGNMENT value=16 . auto/define
+ # TODO
+ NGX_MACH_CACHE_LINE=64
+ ;;
+
+ *)
+ NGX_MACH_CACHE_LINE=32
;;
esac
+
+if test -z "$NGX_CPU_CACHE_LINE"; then
+ NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE
+fi
+
+have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define
diff --git a/auto/sources b/auto/sources
index 0b9245d..b598083 100644
--- a/auto/sources
+++ b/auto/sources
@@ -334,6 +334,10 @@
HTTP_GEO_SRCS=src/http/modules/ngx_http_geo_module.c
+HTTP_MAP_MODULE=ngx_http_map_module
+HTTP_MAP_SRCS=src/http/modules/ngx_http_map_module.c
+
+
HTTP_REFERER_MODULE=ngx_http_referer_module
HTTP_REFERER_SRCS=src/http/modules/ngx_http_referer_module.c