annotate auto/cc/sunc @ 553:63dde5a94756

Added tag NGINX_0_8_28 for changeset 43e02819c5cf
author Igor Sysoev <http://sysoev.ru>
date Mon, 23 Nov 2009 00:00:00 +0300
parents 829f9a66a659
children 23ef0645ea57
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
5 # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
6 # Sun C 5.8 2005/10/13 Sun Studio 11
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
7 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
8 # Sun C 5.9 SunOS_sparc 2007/05/03
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 110
diff changeset
11 | sed -e 's/^.* Sun C \(.*\)/\1/'`
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13 echo " + Sun C version: $NGX_SUNC_VER"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
18 cat << END > $NGX_AUTOTEST.c
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
19
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
20 int main() { printf("%d", __SUNPRO_C); }
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
21
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
22 END
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
23
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
24 eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
25
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
26 if [ -x $NGX_AUTOTEST ]; then
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
27 ngx_sunc_ver=`$NGX_AUTOTEST`
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
28 fi
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
29
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
30 rm $NGX_AUTOTEST*
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
31
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
32 # 1424 == 0x590, Sun Studio 12
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
33
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
34 if [ "$ngx_sunc_ver" -ge 1424 ]; then
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
35 ngx_sparc32="-m32"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
36 ngx_sparc64="-m64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
37 ngx_amd64="-m64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
38
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
39 else
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
40 ngx_sparc32="-xarch=v8plus"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
41 ngx_sparc64="-xarch=v9"
324
f7cd062ee035 nginx 0.6.6
Igor Sysoev <http://sysoev.ru>
parents: 322
diff changeset
42 ngx_amd64="-xarch=amd64"
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
43 fi
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
44
242
ff906029dd40 nginx 0.4.6
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
45 case "$NGX_MACHINE" in
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46
242
ff906029dd40 nginx 0.4.6
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
47 i86pc)
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50
242
ff906029dd40 nginx 0.4.6
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
51 sun4u | sun4v)
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
53 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55 esac
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
58 # optimizations
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
60 IPO=-xipo
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
61 CFLAGS="$CFLAGS -fast $IPO"
322
d16d691432c9 nginx 0.6.5
Igor Sysoev <http://sysoev.ru>
parents: 320
diff changeset
62 CORE_LINK="$CORE_LINK -fast $IPO"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65 case $CPU in
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66 pentium)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67 # optimize for Pentium and Athlon
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68 CPU_OPT="-xchip=pentium"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
69 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71 pentiumpro)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
72 # optimize for Pentium Pro, Pentium II
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
73 CPU_OPT="-xchip=pentium_pro"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
74 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
75
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76 pentium3)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 # optimize for Pentium III
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
78 CPU_OPT="-xchip=pentium3"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79 #CPU_OPT="$CPU_OPT -xarch=sse"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
80 CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
83 pentium4)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
84 # optimize for Pentium 4
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85 CPU_OPT="-xchip=pentium4"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
86 #CPU_OPT="$CPU_OPT -xarch=sse2"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
87 CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
90 opteron)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
91 # optimize for Opteron
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
92 CPU_OPT="-xchip=opteron"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
93 #CPU_OPT="$CPU_OPT -xarch=sse2"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
94 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
95 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
96
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
97 sparc32)
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
98 # build 32-bit UltraSparc binary
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
99 CPU_OPT="$ngx_sparc32"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
100 CORE_LINK="$CORE_LINK $ngx_sparc32"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
101 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
102 NGX_CPU_CACHE_LINE=64
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
103 ;;
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
104
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
105 sparc64)
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
106 # build 64-bit UltraSparc binary
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
107 CPU_OPT="$ngx_sparc64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
108 CORE_LINK="$CORE_LINK $ngx_sparc64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
109 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
110 NGX_CPU_CACHE_LINE=64
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
111 ;;
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
112
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
113 amd64)
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
114 # build 64-bit amd64 binary
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
115 CPU_OPT="$ngx_amd64"
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
116 CORE_LINK="$CORE_LINK $ngx_amd64"
322
d16d691432c9 nginx 0.6.5
Igor Sysoev <http://sysoev.ru>
parents: 320
diff changeset
117 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
118 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
119 NGX_CPU_CACHE_LINE=64
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
120 ;;
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
122 esac
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
123
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
124
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
125 CFLAGS="$CFLAGS $CPU_OPT"
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
126
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
127
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
128 if [ ".$PCRE_OPT" = "." ]; then
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
129 PCRE_OPT="-fast $IPO $CPU_OPT"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
130 fi
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
131
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
132 if [ ".$MD5_OPT" = "." ]; then
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
133 MD5_OPT="-fast $IPO $CPU_OPT"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
134 fi
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
135
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
136 if [ ".$ZLIB_OPT" = "." ]; then
320
95183808f549 nginx 0.6.4
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
137 ZLIB_OPT="-fast $IPO $CPU_OPT"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
138 fi
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
139
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
140
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
141 # stop on warning
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
142 CFLAGS="$CFLAGS -errwarn=%all"
326
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 324
diff changeset
143
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 324
diff changeset
144 # debug
9fc4ab6673f9 nginx 0.6.7
Igor Sysoev <http://sysoev.ru>
parents: 324
diff changeset
145 CFLAGS="$CFLAGS -g"