Annotation of embedaddon/nginx/auto/cc/sunc, revision 1.1.1.1
1.1 misho 1:
2: # Copyright (C) Igor Sysoev
3: # Copyright (C) Nginx, Inc.
4:
5:
6: # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10
7: # Sun C 5.8 2005/10/13 Sun Studio 11
8: # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
9: # Sun C 5.9 SunOS_sparc 2007/05/03
10: # Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1
11: # Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2
12:
13: NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
14: | sed -e 's/^.* Sun C \(.*\)/\1/'`
15:
16: echo " + Sun C version: $NGX_SUNC_VER"
17:
18: have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
19:
20:
21: cat << END > $NGX_AUTOTEST.c
22:
23: int main() { printf("%d", __SUNPRO_C); }
24:
25: END
26:
27: eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
28:
29: if [ -x $NGX_AUTOTEST ]; then
30: ngx_sunc_ver=`$NGX_AUTOTEST`
31: fi
32:
33: rm $NGX_AUTOTEST*
34:
35: # 1424 == 0x590, Sun Studio 12
36:
37: if [ "$ngx_sunc_ver" -ge 1424 ]; then
38: ngx_sparc32="-m32"
39: ngx_sparc64="-m64"
40: ngx_amd64="-m64"
41:
42: else
43: ngx_sparc32="-xarch=v8plus"
44: ngx_sparc64="-xarch=v9"
45: ngx_amd64="-xarch=amd64"
46: fi
47:
48: case "$NGX_MACHINE" in
49:
50: i86pc)
51: NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
52: ;;
53:
54: sun4u | sun4v)
55: NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
56: ;;
57:
58: esac
59:
60:
61: # optimizations
62:
63: # 20736 == 0x5100, Sun Studio 12.1
64:
65: if [ "$ngx_sunc_ver" -ge 20736 ]; then
66: ngx_fast="-fast"
67:
68: else
69: # older versions had problems with bit-fields
70: ngx_fast="-fast -xalias_level=any"
71: fi
72:
73: IPO=-xipo
74: CFLAGS="$CFLAGS $ngx_fast $IPO"
75: CORE_LINK="$CORE_LINK $ngx_fast $IPO"
76:
77:
78: case $CPU in
79: pentium)
80: # optimize for Pentium and Athlon
81: CPU_OPT="-xchip=pentium"
82: ;;
83:
84: pentiumpro)
85: # optimize for Pentium Pro, Pentium II
86: CPU_OPT="-xchip=pentium_pro"
87: ;;
88:
89: pentium3)
90: # optimize for Pentium III
91: CPU_OPT="-xchip=pentium3"
92: #CPU_OPT="$CPU_OPT -xarch=sse"
93: CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
94: ;;
95:
96: pentium4)
97: # optimize for Pentium 4
98: CPU_OPT="-xchip=pentium4"
99: #CPU_OPT="$CPU_OPT -xarch=sse2"
100: CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
101: ;;
102:
103: opteron)
104: # optimize for Opteron
105: CPU_OPT="-xchip=opteron"
106: #CPU_OPT="$CPU_OPT -xarch=sse2"
107: CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
108: ;;
109:
110: sparc32)
111: # build 32-bit UltraSparc binary
112: CPU_OPT="$ngx_sparc32"
113: CORE_LINK="$CORE_LINK $ngx_sparc32"
114: CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32"
115: NGX_CPU_CACHE_LINE=64
116: ;;
117:
118: sparc64)
119: # build 64-bit UltraSparc binary
120: CPU_OPT="$ngx_sparc64"
121: CORE_LINK="$CORE_LINK $ngx_sparc64"
122: CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64"
123: NGX_CPU_CACHE_LINE=64
124: ;;
125:
126: amd64)
127: # build 64-bit amd64 binary
128: CPU_OPT="$ngx_amd64"
129: CORE_LINK="$CORE_LINK $ngx_amd64"
130: CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
131: NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
132: NGX_CPU_CACHE_LINE=64
133: ;;
134:
135: esac
136:
137:
138: CFLAGS="$CFLAGS $CPU_OPT"
139:
140:
141: if [ ".$PCRE_OPT" = "." ]; then
142: PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
143: fi
144:
145: if [ ".$MD5_OPT" = "." ]; then
146: MD5_OPT="$ngx_fast $IPO $CPU_OPT"
147: fi
148:
149: if [ ".$ZLIB_OPT" = "." ]; then
150: ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
151: fi
152:
153:
154: # stop on warning
155: CFLAGS="$CFLAGS -errwarn=%all"
156:
157: # debug
158: CFLAGS="$CFLAGS -g"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>