Mercurial > hg > nginx
annotate auto/cc/icc @ 2129:25add486e7aa
directio
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 30 Jul 2008 12:34:04 +0000 |
parents | d2adfc714819 |
children | 7ee8e11e17bb |
rev | line source |
---|---|
455 | 1 |
2 # Copyright (C) Igor Sysoev | |
3 | |
4 | |
589 | 5 # Intel C++ compiler 7.1, 8.0, 8.1, 9.0 |
455 | 6 |
521 | 7 NGX_ICC_VER=`$CC -V 2>&1 | grep 'Version' 2>&1 \ |
1170
5e878722ad57
remove trailing space in icc version
Igor Sysoev <igor@sysoev.ru>
parents:
681
diff
changeset
|
8 | sed -e 's/^.* Version \([^ ]*\) *Build.*$/\1/'` |
521 | 9 |
10 echo " + icc version: $NGX_ICC_VER" | |
11 | |
557 | 12 have=NGX_COMPILER value="\"Intel C Compiler $NGX_ICC_VER\"" . auto/define |
13 | |
521 | 14 |
455 | 15 # optimizations |
16 | |
17 CFLAGS="$CFLAGS -O" | |
501 | 18 # inline the functions declared with __inline |
455 | 19 #CFLAGS="$CFLAGS -Ob1" |
20 # inline any function, at the compiler's discretion | |
21 CFLAGS="$CFLAGS -Ob2" | |
22 | |
23 # multi-file IP optimizations | |
563 | 24 case "$NGX_ICC_VER" in |
25 9.*) | |
26 IPO="-ipo" | |
27 ;; | |
28 | |
1171
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
29 # 8.1.38 under FreeBSD can not link -ipo |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
30 8.1) |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
31 IPO="-ip" |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
32 ;; |
d2adfc714819
8.1.38 under FreeBSD can not link -ipo
Igor Sysoev <igor@sysoev.ru>
parents:
1170
diff
changeset
|
33 |
563 | 34 *) |
35 IPO="-ipo -ipo_obj" | |
36 ;; | |
37 esac | |
38 | |
601 | 39 # single-file IP optimizations |
40 #IPO="-ip" | |
41 | |
455 | 42 CFLAGS="$CFLAGS $IPO" |
43 CORE_LINK="$CORE_LINK $IPO" | |
469 | 44 CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file" |
455 | 45 |
573 | 46 |
455 | 47 case $CPU in |
48 pentium) | |
49 # optimize for Pentium and Athlon | |
50 CPU_OPT="-march=pentium" | |
51 ;; | |
52 | |
53 pentiumpro) | |
54 # optimize for Pentium Pro, Pentium II and Pentium III | |
55 CPU_OPT="-mcpu=pentiumpro -march=pentiumpro" | |
56 ;; | |
57 | |
58 pentium4) | |
59 # optimize for Pentium 4, default | |
60 CPU_OPT="-march=pentium4" | |
61 ;; | |
62 esac | |
63 | |
64 CFLAGS="$CFLAGS $CPU_OPT" | |
65 | |
66 if [ ".$PCRE_OPT" = "." ]; then | |
67 PCRE_OPT="-O $IPO $CPU_OPT" | |
68 fi | |
69 | |
70 if [ ".$MD5_OPT" = "." ]; then | |
71 MD5_OPT="-O $IPO $CPU_OPT" | |
72 fi | |
73 | |
74 if [ ".$ZLIB_OPT" = "." ]; then | |
75 ZLIB_OPT="-O $IPO $CPU_OPT" | |
76 fi | |
77 | |
78 | |
79 # warnings | |
80 | |
501 | 81 CFLAGS="$CFLAGS -w2" |
82 | |
83 # disable some warnings | |
455 | 84 |
501 | 85 # invalid type conversion: "int" to "char *" |
86 CFLAGS="$CFLAGS -wd171" | |
87 # argument is incompatible with corresponding format string conversion | |
88 CFLAGS="$CFLAGS -wd181" | |
89 # zero used for undefined preprocessing identifier | |
90 CFLAGS="$CFLAGS -wd193" | |
563 | 91 # the format string ends before this argument |
519 | 92 CFLAGS="$CFLAGS -wd268" |
501 | 93 # invalid format string conversion |
94 CFLAGS="$CFLAGS -wd269" | |
95 # conversion from "long long" to "size_t" may lose significant bits | |
96 CFLAGS="$CFLAGS -wd810" | |
97 # parameter was never referenced | |
98 CFLAGS="$CFLAGS -wd869" | |
681 | 99 # attribute "unused" is only allowed in a function definition, warning on pTHX_ |
100 CFLAGS="$CFLAGS -wd1301" | |
501 | 101 |
102 # STUB | |
103 # enumerated type mixed with another type | |
104 CFLAGS="$CFLAGS -wd188" | |
105 # controlling expression is constant | |
106 CFLAGS="$CFLAGS -wd279" | |
107 # operands are evaluated in unspecified order | |
108 CFLAGS="$CFLAGS -wd981" | |
109 # external definition with no prior declaration | |
110 CFLAGS="$CFLAGS -wd1418" | |
111 # external declaration in primary source file | |
112 CFLAGS="$CFLAGS -wd1419" | |
521 | 113 |
114 case "$NGX_ICC_VER" in | |
573 | 115 9.*) |
577 | 116 # "cc" clobber ignored, warnings for Liunx's htonl()/htons() |
521 | 117 CFLAGS="$CFLAGS -wd1469" |
563 | 118 # explicit conversion of a 64-bit integral type to a smaller |
119 # integral type | |
120 CFLAGS="$CFLAGS -wd1683" | |
121 # conversion from pointer to same-sized integral type, | |
122 # warning on offsetof() | |
123 CFLAGS="$CFLAGS -wd1684" | |
595 | 124 # floating-point equality and inequality comparisons are unreliable, |
125 # warning on SvTRUE() | |
126 CFLAGS="$CFLAGS -wd1572" | |
521 | 127 ;; |
128 | |
573 | 129 8.*) |
577 | 130 # "cc" clobber ignored, warnings for Liunx's htonl()/htons() |
573 | 131 CFLAGS="$CFLAGS -wd1469" |
595 | 132 # floating-point equality and inequality comparisons are unreliable, |
133 # warning on SvTRUE() | |
134 CFLAGS="$CFLAGS -wd1572" | |
573 | 135 ;; |
136 | |
521 | 137 *) |
138 ;; | |
139 esac | |
479 | 140 |
455 | 141 # stop on warning |
142 CFLAGS="$CFLAGS -Werror" | |
143 | |
144 # debug | |
145 CFLAGS="$CFLAGS -g" |