annotate auto/cc/clang @ 682:5cb5db9975ba NGINX_1_3_4

nginx 1.3.4 *) Change: the "ipv6only" parameter is now turned on by default for listening IPv6 sockets. *) Feature: the Clang compiler support. *) Bugfix: extra listening sockets might be created. Thanks to Roman Odaisky. *) Bugfix: nginx/Windows might hog CPU if a worker process failed to start. Thanks to Ricardo Villalobos Guevara. *) Bugfix: the "proxy_pass_header", "fastcgi_pass_header", "scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header", "fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header" directives might be inherited incorrectly.
author Igor Sysoev <http://sysoev.ru>
date Tue, 31 Jul 2012 00:00:00 +0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
682
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Nginx, Inc.
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5 # clang
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 NGX_CLANG_VER=`$CC -v 2>&1 | grep 'clang version' 2>&1 \
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9 | sed -e 's/^.*clang version \(.*\)/\1/'`
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11 echo " + clang version: $NGX_CLANG_VER"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13 have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 CC_TEST_FLAGS="-pipe"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 # optimizations
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 #NGX_CLANG_OPT="-O2"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #NGX_CLANG_OPT="-Oz"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 NGX_CLANG_OPT="-O"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 case $CPU in
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26 pentium)
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27 # optimize for Pentium
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28 CPU_OPT="-march=pentium"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 NGX_CPU_CACHE_LINE=32
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
30 ;;
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
31
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32 pentiumpro | pentium3)
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 # optimize for Pentium Pro, Pentium II and Pentium III
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 CPU_OPT="-march=pentiumpro"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 NGX_CPU_CACHE_LINE=32
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 ;;
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38 pentium4)
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39 # optimize for Pentium 4
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40 CPU_OPT="-march=pentium4"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 NGX_CPU_CACHE_LINE=128
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42 ;;
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44 athlon)
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45 # optimize for Athlon
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46 CPU_OPT="-march=athlon"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 NGX_CPU_CACHE_LINE=64
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 ;;
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50 opteron)
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51 # optimize for Opteron
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 CPU_OPT="-march=opteron"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
53 NGX_CPU_CACHE_LINE=64
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54 ;;
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56 esac
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
58 CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
60
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
61 CFLAGS="$CFLAGS -pipe $CPU_OPT"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63 if [ ".$PCRE_OPT" = "." ]; then
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 PCRE_OPT="-O2 -pipe $CPU_OPT"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65 else
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66 PCRE_OPT="$PCRE_OPT -pipe"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67 fi
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
69 if [ ".$MD5_OPT" = "." ]; then
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70 MD5_OPT="-O2 -pipe $CPU_OPT"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71 else
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
72 MD5_OPT="$MD5_OPT -pipe"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
73 fi
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
74
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
75 if [ ".$ZLIB_OPT" = "." ]; then
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76 ZLIB_OPT="-O2 -pipe $CPU_OPT"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 else
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
78 ZLIB_OPT="$ZLIB_OPT -pipe"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79 fi
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
80
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82 # warnings
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
83
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
84 CFLAGS="$CFLAGS $NGX_CLANG_OPT -Wall -Wextra -Wpointer-arith"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85 #CFLAGS="$CFLAGS -Wmissing-prototypes"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
86
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
87 # we have a lot of unused function arguments
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 CFLAGS="$CFLAGS -Wno-unused-parameter"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
90 # stop on warning
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
91 #CFLAGS="$CFLAGS -Werror"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
92
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
93 # debug
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
94 CFLAGS="$CFLAGS -g"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
95
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
96 if [ ".$CPP" = "." ]; then
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
97 CPP="$CC -E"
5cb5db9975ba nginx 1.3.4
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
98 fi