comparison auto/cc/sunc @ 318:3021f899881a NGINX_0_5_29

nginx 0.5.29 *) Feature: $nginx_version variable. Thanks to Nick S. Grechukh. *) Bugfix: if the FastCGI header was split in records, then nginx passed garbage in the header to a client. *) Bugfix: Sun Studio compatibility on Solaris/amd64 and Solaris/sparc64. Thanks to Jiang Hong and Andrei Nigmatulin. *) Bugfix: of minor potential bugs. Thanks to Coverity's Scan.
author Igor Sysoev <http://sysoev.ru>
date Mon, 23 Jul 2007 00:00:00 +0400
parents 6ae1357b7b7c
children 1e9e2c5e7c14
comparison
equal deleted inserted replaced
317:c012154f05d1 318:3021f899881a
1 1
2 # Copyright (C) Igor Sysoev 2 # Copyright (C) Igor Sysoev
3 3
4 4
5 # Sun C 5.7 Patch 117837-04 2005/05/11 5 # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10
6 # Sun C 5.8 2005/10/13 6 # Sun C 5.8 2005/10/13 Sun Studio 11
7 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
8 # Sun C 5.9 SunOS_sparc 2007/05/03
7 9
8 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \ 10 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
9 | sed -e 's/^.* Sun C \(.*\)/\1/'` 11 | sed -e 's/^.* Sun C \(.*\)/\1/'`
10 12
11 echo " + Sun C version: $NGX_SUNC_VER" 13 echo " + Sun C version: $NGX_SUNC_VER"
12 14
13 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define 15 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
14 16
17
18 cat << END > $NGX_AUTOTEST.c
19
20 int main() { printf("%d", __SUNPRO_C); }
21
22 END
23
24 eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
25
26 if [ -x $NGX_AUTOTEST ]; then
27 ngx_sunc_ver=`$NGX_AUTOTEST`
28 fi
29
30 rm $NGX_AUTOTEST*
31
32 # 1424 == 0x590, Sun Studio 12
33
34 if [ "$ngx_sunc_ver" -ge 1424 ]; then
35 ngx_sparc32="-m32"
36 ngx_sparc64="-m64"
37 ngx_amd64="-m64"
38
39 else
40 ngx_sparc32="-xarch=v8plus"
41 ngx_sparc64="-xarch=v9"
42 ngx_amd64="-amd64"
43 fi
15 44
16 case "$NGX_MACHINE" in 45 case "$NGX_MACHINE" in
17 46
18 i86pc) 47 i86pc)
19 ngx_feature="PAUSE hardware capability bug" 48 ngx_feature="PAUSE hardware capability bug"
33 62
34 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il" 63 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
35 ;; 64 ;;
36 65
37 sun4u | sun4v) 66 sun4u | sun4v)
38 # "-xarch=v9" enables the "casa" assembler instruction
39 CFLAGS="$CFLAGS -xarch=v9"
40 CORE_LINK="$CORE_LINK -xarch=v9"
41 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il" 67 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
42 ;; 68 ;;
43 69
44 esac 70 esac
45 71
46 72
47 # optimizations 73 # optimizations
48 74
49 CFLAGS="$CFLAGS -fast" 75 IPO=-xipo
76 CFLAGS="$CFLAGS -fast $IPO"
77 CORE_LINK="$CORE_LINK -fast $IPO"
50 78
51 79
52 case $CPU in 80 case $CPU in
53 pentium) 81 pentium)
54 # optimize for Pentium and Athlon 82 # optimize for Pentium and Athlon
79 CPU_OPT="-xchip=opteron" 107 CPU_OPT="-xchip=opteron"
80 #CPU_OPT="$CPU_OPT -xarch=sse2" 108 #CPU_OPT="$CPU_OPT -xarch=sse2"
81 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16" 109 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
82 ;; 110 ;;
83 111
112 sparc32)
113 # build 32-bit UltraSparc binary
114 CPU_OPT="$ngx_sparc32"
115 CORE_LINK="$CORE_LINK $ngx_sparc32"
116 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32"
117 NGX_CPU_CACHE_LINE=64
118 ;;
119
120 sparc64)
121 # build 64-bit UltraSparc binary
122 CPU_OPT="$ngx_sparc64"
123 CORE_LINK="$CORE_LINK $ngx_sparc64"
124 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64"
125 NGX_CPU_CACHE_LINE=64
126 ;;
127
84 amd64) 128 amd64)
85 # build 64-bit amd64 binary 129 # build 64-bit amd64 binary
86 CPU_OPT="-xarch=amd64" 130 CPU_OPT="$ngx_amd64"
87 CORE_LINK="$CORE_LINK -xarch=amd64" 131 CORE_LINK="$CORE_LINK $ngx_amd64"
132 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
88 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il" 133 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
134 NGX_CPU_CACHE_LINE=64
89 ;; 135 ;;
90 136
91 esac 137 esac
92 138
93 139
94 CFLAGS="$CFLAGS $CPU_OPT" 140 CFLAGS="$CFLAGS $CPU_OPT"
95 141
96 142
97 if [ ".$PCRE_OPT" = "." ]; then 143 if [ ".$PCRE_OPT" = "." ]; then
98 PCRE_OPT="-fast $CPU_OPT" 144 PCRE_OPT="-fast $IPO $CPU_OPT"
99 fi 145 fi
100 146
101 if [ ".$MD5_OPT" = "." ]; then 147 if [ ".$MD5_OPT" = "." ]; then
102 MD5_OPT="-fast $CPU_OPT" 148 MD5_OPT="-fast $IPO $CPU_OPT"
103 fi 149 fi
104 150
105 if [ ".$ZLIB_OPT" = "." ]; then 151 if [ ".$ZLIB_OPT" = "." ]; then
106 ZLIB_OPT="-fast $CPU_OPT" 152 ZLIB_OPT="-fast $IPO $CPU_OPT"
107 fi 153 fi
108 154
109 155
110 # stop on warning 156 # stop on warning
111 CFLAGS="$CFLAGS -errwarn=%all" 157 CFLAGS="$CFLAGS -errwarn=%all"