blob: 9edc0d09820ecc8f9a469f72c6bffdc29f42a140 [file] [log] [blame]
Igor Sysoev78452232005-10-12 13:50:36 +00001
2# Copyright (C) Igor Sysoev
3
4
5# Sun C 5.7 Patch 117837-04 2005/05/11
Igor Sysoev2bdefc12006-09-18 12:27:33 +00006# Sun C 5.8 2005/10/13
Igor Sysoev78452232005-10-12 13:50:36 +00007
8NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
Igor Sysoev2bdefc12006-09-18 12:27:33 +00009 | sed -e 's/^.* Sun C \(.*\)/\1/'`
Igor Sysoev78452232005-10-12 13:50:36 +000010
11echo " + Sun C version: $NGX_SUNC_VER"
12
13have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
14
15
Igor Sysoev6c5c4d02006-10-05 20:06:03 +000016case "$NGX_MACHINE" in
Igor Sysoev78452232005-10-12 13:50:36 +000017
Igor Sysoev6c5c4d02006-10-05 20:06:03 +000018 i86pc)
Igor Sysoev2bdefc12006-09-18 12:27:33 +000019 ngx_feature="PAUSE hardware capability bug"
20 ngx_feature_name=
21 ngx_feature_run=bug
22 ngx_feature_incs=
Igor Sysoev0ec09f92006-11-27 11:07:09 +000023 ngx_feature_path=
Igor Sysoev2bdefc12006-09-18 12:27:33 +000024 ngx_feature_libs=
25 ngx_feature_test='__asm ("pause")'
26
27 . auto/feature
28
29 if [ $ngx_found = yes ]; then
30 # disable [ PAUSE ] hwcap for Sun Studio 11
31 CORE_LINK="$CORE_LINK -Msrc/os/unix/ngx_sunpro_x86.map"
32 fi
Igor Sysoev8f4a18f2006-09-15 19:33:55 +000033
Igor Sysoev78452232005-10-12 13:50:36 +000034 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
35 ;;
36
Igor Sysoev6c5c4d02006-10-05 20:06:03 +000037 sun4u | sun4v)
Igor Sysoev78452232005-10-12 13:50:36 +000038 # "-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"
42 ;;
43
44esac
45
46
47# optimizations
48
49CFLAGS="$CFLAGS -fast"
50
51
52case $CPU in
53 pentium)
54 # optimize for Pentium and Athlon
55 CPU_OPT="-xchip=pentium"
56 ;;
57
58 pentiumpro)
59 # optimize for Pentium Pro, Pentium II
60 CPU_OPT="-xchip=pentium_pro"
61 ;;
62
63 pentium3)
64 # optimize for Pentium III
65 CPU_OPT="-xchip=pentium3"
66 #CPU_OPT="$CPU_OPT -xarch=sse"
67 CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
68 ;;
69
70 pentium4)
71 # optimize for Pentium 4
72 CPU_OPT="-xchip=pentium4"
73 #CPU_OPT="$CPU_OPT -xarch=sse2"
74 CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
75 ;;
76
77 opteron)
78 # optimize for Opteron
79 CPU_OPT="-xchip=opteron"
80 #CPU_OPT="$CPU_OPT -xarch=sse2"
81 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
82 ;;
83
84 amd64)
85 # build 64-bit amd64 binary
86 CPU_OPT="-xarch=amd64"
87 CORE_LINK="$CORE_LINK -xarch=amd64"
88 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
89 ;;
90
91esac
92
93
94CFLAGS="$CFLAGS $CPU_OPT"
95
96
97if [ ".$PCRE_OPT" = "." ]; then
98 PCRE_OPT="-fast $CPU_OPT"
99fi
100
101if [ ".$MD5_OPT" = "." ]; then
102 MD5_OPT="-fast $CPU_OPT"
103fi
104
105if [ ".$ZLIB_OPT" = "." ]; then
106 ZLIB_OPT="-fast $CPU_OPT"
107fi
108
109
110# stop on warning
111CFLAGS="$CFLAGS -errwarn=%all"