|  | 
 | # 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" | 
 |  | 
 | # multi-file IP optimizations | 
 | case "$NGX_ICC_VER" in | 
 |     9.*) | 
 |         IPO="-ipo" | 
 |     ;; | 
 |  | 
 |     *) | 
 |         IPO="-ipo -ipo_obj" | 
 |     ;; | 
 | esac | 
 |  | 
 | # single-file IP optimizations | 
 | #IPO="-ip" | 
 |  | 
 | 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" | 
 | # attribute "unused" is only allowed in a function definition, warning on pTHX_ | 
 | CFLAGS="$CFLAGS -wd1301" | 
 |  | 
 | # 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" | 
 |         # floating-point equality and inequality comparisons are unreliable, | 
 |         # warning on SvTRUE() | 
 |         CFLAGS="$CFLAGS -wd1572" | 
 |     ;; | 
 |  | 
 |     8.*) | 
 |         # "cc" clobber ignored, warnings for Liunx's htonl()/htons() | 
 |         CFLAGS="$CFLAGS -wd1469" | 
 |         # floating-point equality and inequality comparisons are unreliable, | 
 |         # warning on SvTRUE() | 
 |         CFLAGS="$CFLAGS -wd1572" | 
 |     ;; | 
 |  | 
 |     *) | 
 |     ;; | 
 | esac | 
 |  | 
 | # stop on warning | 
 | CFLAGS="$CFLAGS -Werror" | 
 |  | 
 | # debug | 
 | CFLAGS="$CFLAGS -g" |