view auto/cc/icc @ 573:58475592100c release-0.3.8

nginx-0.3.8-RELEASE import *) Security: nginx now checks URI got from a backend in "X-Accel-Redirect" header line or in SSI file for the "/../" paths and zeroes. *) Change: nginx now does not treat the empty user name in the "Authorization" header line as valid one. *) Feature: the "ssl_session_timeout" directives of the ngx_http_ssl_module and ngx_imap_ssl_module. *) Feature: the "auth_http_header" directive of the ngx_imap_auth_http_module. *) Feature: the "add_header" directive. *) Feature: the ngx_http_realip_module. *) Feature: the new variables to use in the "log_format" directive: $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri, $request_time, $request_length, $upstream_status, $upstream_response_time, $gzip_ratio, $uid_got, $uid_set, $connection, $pipe, and $msec. The parameters in the "%name" form will be canceled soon. *) Change: now the false variable values in the "if" directive are the empty string "" and string starting with "0". *) Bugfix: while using proxied or FastCGI-server nginx may leave connections and temporary files with client requests in open state. *) Bugfix: the worker processes did not flush the buffered logs on graceful exit. *) Bugfix: if the request URI was changes by the "rewrite" directive and the request was proxied in location given by regular expression, then the incorrect request was transferred to backend; the bug had appeared in 0.2.6. *) Bugfix: the "expires" directive did not remove the previous "Expires" header. *) Bugfix: nginx may stop to accept requests if the "rtsig" method and several worker processes were used. *) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in SSI commands. *) Bugfix: if the response was ended just after the SSI command and gzipping was used, then the response did not transferred complete or did not transferred at all.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 09 Nov 2005 17:25:55 +0000
parents 9c2f3ed7a247
children 4d9ea73a627a
line wrap: on
line source


# Copyright (C) Igor Sysoev


# Intel C++ compiler 7.1, 8.0, 8.1

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 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"

        # STUB
        # non-POD class type passed through ellipsis, Linux only ?
        CFLAGS="$CFLAGS -wd1595"
    ;;

    8.*)
        # "cc" clobber ignored, warnings for Liunx's htons()
        CFLAGS="$CFLAGS -wd1469"

        # STUB
        # non-POD class type passed through ellipsis, Linux only ?
        CFLAGS="$CFLAGS -wd1595"
    ;;

    *)
    ;;
esac

# stop on warning
CFLAGS="$CFLAGS -Werror"

# debug
CFLAGS="$CFLAGS -g"