Mercurial > hg > nginx
annotate auto/cc/sunc @ 9331:dbf76fdd109f default tip
release-1.27.4 tag
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 03 Sep 2024 13:11:25 +0300 |
parents | 92e14ce71b72 |
children |
rev | line source |
---|---|
561 | 1 |
2 # Copyright (C) Igor Sysoev | |
4412 | 3 # Copyright (C) Nginx, Inc. |
561 | 4 |
5 | |
1309 | 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 | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
10 # Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1 |
7000
d8e8ced78e77
Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6624
diff
changeset
|
11 # Sun C 5.11 SunOS_i386 2010/08/13 Oracle Solaris Studio 12.2 |
d8e8ced78e77
Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6624
diff
changeset
|
12 # Sun C 5.12 SunOS_i386 2011/11/16 Oracle Solaris Studio 12.3 |
d8e8ced78e77
Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6624
diff
changeset
|
13 # Sun C 5.13 SunOS_i386 2014/10/20 Oracle Solaris Studio 12.4 |
d8e8ced78e77
Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6624
diff
changeset
|
14 # Sun C 5.14 SunOS_i386 2016/05/31 Oracle Developer Studio 12.5 |
9308
d2b87352e5a7
Configure: added latest Sun C version.
Maxim Dounin <mdounin@mdounin.ru>
parents:
7000
diff
changeset
|
15 # Sun C 5.15 SunOS_i386 2017/05/30 Oracle Developer Studio 12.6 |
561 | 16 |
17 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \ | |
702
67deba330372
auto/configure [ PAUSE ] hwcap bug
Igor Sysoev <igor@sysoev.ru>
parents:
697
diff
changeset
|
18 | sed -e 's/^.* Sun C \(.*\)/\1/'` |
561 | 19 |
20 echo " + Sun C version: $NGX_SUNC_VER" | |
21 | |
22 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define | |
23 | |
24 | |
1309 | 25 cat << END > $NGX_AUTOTEST.c |
26 | |
6624
e3faa5fb7772
Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents:
6603
diff
changeset
|
27 int main(void) { |
e3faa5fb7772
Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents:
6603
diff
changeset
|
28 printf("%d", __SUNPRO_C); |
e3faa5fb7772
Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents:
6603
diff
changeset
|
29 return 0; |
e3faa5fb7772
Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents:
6603
diff
changeset
|
30 } |
1309 | 31 |
32 END | |
33 | |
34 eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1" | |
35 | |
36 if [ -x $NGX_AUTOTEST ]; then | |
37 ngx_sunc_ver=`$NGX_AUTOTEST` | |
38 fi | |
39 | |
5309
434548349838
Configure: fixed autotest cleanup commands.
Sergey Kandaurov <pluknet@nginx.com>
parents:
4412
diff
changeset
|
40 rm -rf $NGX_AUTOTEST* |
1309 | 41 |
42 # 1424 == 0x590, Sun Studio 12 | |
43 | |
44 if [ "$ngx_sunc_ver" -ge 1424 ]; then | |
45 ngx_sparc32="-m32" | |
46 ngx_sparc64="-m64" | |
47 ngx_amd64="-m64" | |
48 | |
49 else | |
50 ngx_sparc32="-xarch=v8plus" | |
51 ngx_sparc64="-xarch=v9" | |
1343
d77866cf2cc4
fix building on amd64 by Sun Studio 11 and more early versions
Igor Sysoev <igor@sysoev.ru>
parents:
1324
diff
changeset
|
52 ngx_amd64="-xarch=amd64" |
1309 | 53 fi |
54 | |
744 | 55 case "$NGX_MACHINE" in |
561 | 56 |
744 | 57 i86pc) |
561 | 58 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il" |
59 ;; | |
60 | |
744 | 61 sun4u | sun4v) |
561 | 62 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il" |
63 ;; | |
64 | |
65 esac | |
66 | |
6383 | 67 MAIN_LINK= |
68 MODULE_LINK="-G" | |
69 | |
561 | 70 |
71 # optimizations | |
72 | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
73 # 20736 == 0x5100, Sun Studio 12.1 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
74 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
75 if [ "$ngx_sunc_ver" -ge 20736 ]; then |
9309
92e14ce71b72
Configure: adjusted optimization level for Sun C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9308
diff
changeset
|
76 ngx_fast="-fast -xO3" |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
77 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
78 else |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
79 # older versions had problems with bit-fields |
9309
92e14ce71b72
Configure: adjusted optimization level for Sun C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9308
diff
changeset
|
80 ngx_fast="-fast -xO3 -xalias_level=any" |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
81 fi |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
82 |
9309
92e14ce71b72
Configure: adjusted optimization level for Sun C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9308
diff
changeset
|
83 IPO= |
92e14ce71b72
Configure: adjusted optimization level for Sun C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9308
diff
changeset
|
84 #IPO=-xipo |
92e14ce71b72
Configure: adjusted optimization level for Sun C.
Maxim Dounin <mdounin@mdounin.ru>
parents:
9308
diff
changeset
|
85 |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
86 CFLAGS="$CFLAGS $ngx_fast $IPO" |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
87 CORE_LINK="$CORE_LINK $ngx_fast $IPO" |
561 | 88 |
89 | |
90 case $CPU in | |
91 pentium) | |
92 # optimize for Pentium and Athlon | |
93 CPU_OPT="-xchip=pentium" | |
94 ;; | |
95 | |
96 pentiumpro) | |
97 # optimize for Pentium Pro, Pentium II | |
98 CPU_OPT="-xchip=pentium_pro" | |
99 ;; | |
100 | |
101 pentium3) | |
102 # optimize for Pentium III | |
103 CPU_OPT="-xchip=pentium3" | |
104 #CPU_OPT="$CPU_OPT -xarch=sse" | |
105 CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4" | |
106 ;; | |
107 | |
108 pentium4) | |
109 # optimize for Pentium 4 | |
110 CPU_OPT="-xchip=pentium4" | |
111 #CPU_OPT="$CPU_OPT -xarch=sse2" | |
112 CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8" | |
113 ;; | |
114 | |
115 opteron) | |
116 # optimize for Opteron | |
117 CPU_OPT="-xchip=opteron" | |
118 #CPU_OPT="$CPU_OPT -xarch=sse2" | |
119 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16" | |
120 ;; | |
121 | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
122 sparc32) |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
123 # build 32-bit UltraSparc binary |
1309 | 124 CPU_OPT="$ngx_sparc32" |
125 CORE_LINK="$CORE_LINK $ngx_sparc32" | |
126 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32" | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
127 NGX_CPU_CACHE_LINE=64 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
128 ;; |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
129 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
130 sparc64) |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
131 # build 64-bit UltraSparc binary |
1309 | 132 CPU_OPT="$ngx_sparc64" |
133 CORE_LINK="$CORE_LINK $ngx_sparc64" | |
134 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64" | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
135 NGX_CPU_CACHE_LINE=64 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
136 ;; |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
137 |
561 | 138 amd64) |
139 # build 64-bit amd64 binary | |
1309 | 140 CPU_OPT="$ngx_amd64" |
141 CORE_LINK="$CORE_LINK $ngx_amd64" | |
1324
d01f9856e3a0
fix building on amd64 and add -xipo to the link stage
Igor Sysoev <igor@sysoev.ru>
parents:
1309
diff
changeset
|
142 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64" |
561 | 143 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il" |
1309 | 144 NGX_CPU_CACHE_LINE=64 |
561 | 145 ;; |
146 | |
147 esac | |
148 | |
149 | |
150 CFLAGS="$CFLAGS $CPU_OPT" | |
151 | |
152 | |
153 if [ ".$PCRE_OPT" = "." ]; then | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
154 PCRE_OPT="$ngx_fast $IPO $CPU_OPT" |
561 | 155 fi |
156 | |
157 if [ ".$ZLIB_OPT" = "." ]; then | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
158 ZLIB_OPT="$ngx_fast $IPO $CPU_OPT" |
561 | 159 fi |
160 | |
161 | |
162 # stop on warning | |
163 CFLAGS="$CFLAGS -errwarn=%all" | |
1375
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
164 |
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
165 # debug |
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
166 CFLAGS="$CFLAGS -g" |