Annotation of embedaddon/nginx/auto/cc/gcc, revision 1.1.1.1
1.1 misho 1:
2: # Copyright (C) Igor Sysoev
3: # Copyright (C) Nginx, Inc.
4:
5:
6: # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
7: # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
8: # 4.0.0, 4.0.1, 4.1.0
9:
10:
11: NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \
12: | sed -e 's/^.* version \(.*\)/\1/'`
13:
14: echo " + gcc version: $NGX_GCC_VER"
15:
16: have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define
17:
18:
19: # Solaris 7's /usr/ccs/bin/as does not support "-pipe"
20:
21: CC_TEST_FLAGS="-pipe"
22:
23: ngx_feature="gcc -pipe switch"
24: ngx_feature_name=
25: ngx_feature_run=no
26: ngx_feature_incs=
27: ngx_feature_path=
28: ngx_feature_libs=
29: ngx_feature_test=
30: . auto/feature
31:
32: CC_TEST_FLAGS=
33:
34: if [ $ngx_found = yes ]; then
35: PIPE="-pipe"
36: fi
37:
38:
39: case "$NGX_MACHINE" in
40:
41: sun4u | sun4v | sparc | sparc64 )
42: # "-mcpu=v9" enables the "casa" assembler instruction
43: CFLAGS="$CFLAGS -mcpu=v9"
44: ;;
45:
46: esac
47:
48:
49: # optimizations
50:
51: #NGX_GCC_OPT="-O2"
52: #NGX_GCC_OPT="-Os"
53: NGX_GCC_OPT="-O"
54:
55: #CFLAGS="$CFLAGS -fomit-frame-pointer"
56:
57: case $CPU in
58: pentium)
59: # optimize for Pentium and Athlon
60: CPU_OPT="-march=pentium"
61: NGX_CPU_CACHE_LINE=32
62: ;;
63:
64: pentiumpro | pentium3)
65: # optimize for Pentium Pro, Pentium II and Pentium III
66: CPU_OPT="-march=pentiumpro"
67: NGX_CPU_CACHE_LINE=32
68: ;;
69:
70: pentium4)
71: # optimize for Pentium 4, gcc 3.x
72: CPU_OPT="-march=pentium4"
73: NGX_CPU_CACHE_LINE=128
74: ;;
75:
76: athlon)
77: # optimize for Athlon, gcc 3.x
78: CPU_OPT="-march=athlon"
79: NGX_CPU_CACHE_LINE=64
80: ;;
81:
82: opteron)
83: # optimize for Opteron, gcc 3.x
84: CPU_OPT="-march=opteron"
85: NGX_CPU_CACHE_LINE=64
86: ;;
87:
88: sparc32)
89: # build 32-bit UltraSparc binary
90: CPU_OPT="-m32"
91: CORE_LINK="$CORE_LINK -m32"
92: NGX_CPU_CACHE_LINE=64
93: ;;
94:
95: sparc64)
96: # build 64-bit UltraSparc binary
97: CPU_OPT="-m64"
98: CORE_LINK="$CORE_LINK -m64"
99: NGX_CPU_CACHE_LINE=64
100: ;;
101:
102: ppc64)
103: # build 64-bit PowerPC binary
104: CPU_OPT="-m64"
105: CPU_OPT="$CPU_OPT -falign-functions=32 -falign-labels=32"
106: CPU_OPT="$CPU_OPT -falign-loops=32 -falign-jumps=32"
107: CORE_LINK="$CORE_LINK -m64"
108: NGX_CPU_CACHE_LINE=128
109: ;;
110:
111: esac
112:
113: CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT"
114:
115: case "$NGX_GCC_VER" in
116: 2.7*)
117: # batch build
118: CPU_OPT=
119: ;;
120: esac
121:
122:
123: CFLAGS="$CFLAGS $PIPE $CPU_OPT"
124:
125: if [ ".$PCRE_OPT" = "." ]; then
126: PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
127: else
128: PCRE_OPT="$PCRE_OPT $PIPE"
129: fi
130:
131: if [ ".$MD5_OPT" = "." ]; then
132: MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
133: else
134: MD5_OPT="$MD5_OPT $PIPE"
135: fi
136:
137: if [ ".$ZLIB_OPT" = "." ]; then
138: ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
139: else
140: ZLIB_OPT="$ZLIB_OPT $PIPE"
141: fi
142:
143:
144: # warnings
145:
146: # -W requires at least -O
147: CFLAGS="$CFLAGS ${NGX_GCC_OPT:--O} -W"
148:
149: CFLAGS="$CFLAGS -Wall -Wpointer-arith"
150: #CFLAGS="$CFLAGS -Wconversion"
151: #CFLAGS="$CFLAGS -Winline"
152: #CFLAGS="$CFLAGS -Wmissing-prototypes"
153:
154:
155: case "$NGX_GCC_VER" in
156: 3.* | 4.* )
157: # we have a lot of the unused function arguments
158: CFLAGS="$CFLAGS -Wno-unused-parameter"
159: # 4.2.1 shows the warning in wrong places
160: #CFLAGS="$CFLAGS -Wunreachable-code"
161: ;;
162:
163: *)
164: # we have a lot of the unused function arguments
165: CFLAGS="$CFLAGS -Wno-unused"
166: ;;
167: esac
168:
169:
170: # stop on warning
171: CFLAGS="$CFLAGS -Werror"
172:
173: # debug
174: CFLAGS="$CFLAGS -g"
175:
176: # DragonFly's gcc3 generates DWARF
177: #CFLAGS="$CFLAGS -g -gstabs"
178:
179: if [ ".$CPP" = "." ]; then
180: CPP="$CC -E"
181: fi
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>