mirror of
https://github.com/nginx/nginx.git
synced 2024-12-04 22:09:01 +08:00
2402502c2f
*) 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.
133 lines
2.8 KiB
Plaintext
133 lines
2.8 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
|
|
|
|
# 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/'`
|
|
|
|
echo " + icc version: $NGX_ICC_VER"
|
|
|
|
have=NGX_COMPILER value="\"Intel C Compiler $NGX_ICC_VER\"" . auto/define
|
|
|
|
|
|
# optimizations
|
|
|
|
CFLAGS="$CFLAGS -O"
|
|
# inline the functions declared with __inline
|
|
#CFLAGS="$CFLAGS -Ob1"
|
|
# inline any function, at the compiler's discretion
|
|
CFLAGS="$CFLAGS -Ob2"
|
|
|
|
# single-file IP optimizations
|
|
#IPO="-ip"
|
|
|
|
# multi-file IP optimizations
|
|
case "$NGX_ICC_VER" in
|
|
9.*)
|
|
IPO="-ipo"
|
|
;;
|
|
|
|
*)
|
|
IPO="-ipo -ipo_obj"
|
|
;;
|
|
esac
|
|
|
|
CFLAGS="$CFLAGS $IPO"
|
|
CORE_LINK="$CORE_LINK $IPO"
|
|
CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file"
|
|
|
|
|
|
case $CPU in
|
|
pentium)
|
|
# optimize for Pentium and Athlon
|
|
CPU_OPT="-march=pentium"
|
|
;;
|
|
|
|
pentiumpro)
|
|
# optimize for Pentium Pro, Pentium II and Pentium III
|
|
CPU_OPT="-mcpu=pentiumpro -march=pentiumpro"
|
|
;;
|
|
|
|
pentium4)
|
|
# optimize for Pentium 4, default
|
|
CPU_OPT="-march=pentium4"
|
|
;;
|
|
esac
|
|
|
|
CFLAGS="$CFLAGS $CPU_OPT"
|
|
|
|
if [ ".$PCRE_OPT" = "." ]; then
|
|
PCRE_OPT="-O $IPO $CPU_OPT"
|
|
fi
|
|
|
|
if [ ".$MD5_OPT" = "." ]; then
|
|
MD5_OPT="-O $IPO $CPU_OPT"
|
|
fi
|
|
|
|
if [ ".$ZLIB_OPT" = "." ]; then
|
|
ZLIB_OPT="-O $IPO $CPU_OPT"
|
|
fi
|
|
|
|
|
|
# warnings
|
|
|
|
CFLAGS="$CFLAGS -w2"
|
|
|
|
# disable some warnings
|
|
|
|
# invalid type conversion: "int" to "char *"
|
|
CFLAGS="$CFLAGS -wd171"
|
|
# argument is incompatible with corresponding format string conversion
|
|
CFLAGS="$CFLAGS -wd181"
|
|
# zero used for undefined preprocessing identifier
|
|
CFLAGS="$CFLAGS -wd193"
|
|
# the format string ends before this argument
|
|
CFLAGS="$CFLAGS -wd268"
|
|
# invalid format string conversion
|
|
CFLAGS="$CFLAGS -wd269"
|
|
# conversion from "long long" to "size_t" may lose significant bits
|
|
CFLAGS="$CFLAGS -wd810"
|
|
# parameter was never referenced
|
|
CFLAGS="$CFLAGS -wd869"
|
|
|
|
# STUB
|
|
# enumerated type mixed with another type
|
|
CFLAGS="$CFLAGS -wd188"
|
|
# controlling expression is constant
|
|
CFLAGS="$CFLAGS -wd279"
|
|
# operands are evaluated in unspecified order
|
|
CFLAGS="$CFLAGS -wd981"
|
|
# external definition with no prior declaration
|
|
CFLAGS="$CFLAGS -wd1418"
|
|
# external declaration in primary source file
|
|
CFLAGS="$CFLAGS -wd1419"
|
|
|
|
case "$NGX_ICC_VER" in
|
|
9.*)
|
|
# "cc" clobber ignored, warnings for Liunx's htonl()/htons()
|
|
CFLAGS="$CFLAGS -wd1469"
|
|
# explicit conversion of a 64-bit integral type to a smaller
|
|
# integral type
|
|
CFLAGS="$CFLAGS -wd1683"
|
|
# conversion from pointer to same-sized integral type,
|
|
# warning on offsetof()
|
|
CFLAGS="$CFLAGS -wd1684"
|
|
;;
|
|
|
|
8.*)
|
|
# "cc" clobber ignored, warnings for Liunx's htonl()/htons()
|
|
CFLAGS="$CFLAGS -wd1469"
|
|
;;
|
|
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
# stop on warning
|
|
CFLAGS="$CFLAGS -Werror"
|
|
|
|
# debug
|
|
CFLAGS="$CFLAGS -g"
|