2 # Copyright (C) Igor Sysoev
3 # Copyright (C) Nginx, Inc.
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
11 NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \
12 | sed -e 's/^.* version \(.*\)/\1/'`
14 echo " + gcc version: $NGX_GCC_VER"
16 have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define
19 # Solaris 7's /usr/ccs/bin/as does not support "-pipe"
23 ngx_feature="gcc -pipe switch"
34 if [ $ngx_found = yes ]; then
39 case "$NGX_MACHINE" in
41 sun4u | sun4v | sparc | sparc64 )
42 # "-mcpu=v9" enables the "casa" assembler instruction
43 CFLAGS="$CFLAGS -mcpu=v9"
55 #CFLAGS="$CFLAGS -fomit-frame-pointer"
59 # optimize for Pentium and Athlon
60 CPU_OPT="-march=pentium"
64 pentiumpro | pentium3)
65 # optimize for Pentium Pro, Pentium II and Pentium III
66 CPU_OPT="-march=pentiumpro"
71 # optimize for Pentium 4, gcc 3.x
72 CPU_OPT="-march=pentium4"
73 NGX_CPU_CACHE_LINE=128
77 # optimize for Athlon, gcc 3.x
78 CPU_OPT="-march=athlon"
83 # optimize for Opteron, gcc 3.x
84 CPU_OPT="-march=opteron"
89 # build 32-bit UltraSparc binary
91 CORE_LINK="$CORE_LINK -m32"
96 # build 64-bit UltraSparc binary
98 CORE_LINK="$CORE_LINK -m64"
103 # build 64-bit PowerPC binary
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
113 CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT"
115 case "$NGX_GCC_VER" in
123 CFLAGS="$CFLAGS $PIPE $CPU_OPT"
125 if [ ".$PCRE_OPT" = "." ]; then
126 PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
128 PCRE_OPT="$PCRE_OPT $PIPE"
131 if [ ".$MD5_OPT" = "." ]; then
132 MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
134 MD5_OPT="$MD5_OPT $PIPE"
137 if [ ".$ZLIB_OPT" = "." ]; then
138 ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT"
140 ZLIB_OPT="$ZLIB_OPT $PIPE"
146 # -W requires at least -O
147 CFLAGS="$CFLAGS ${NGX_GCC_OPT:--O} -W"
149 CFLAGS="$CFLAGS -Wall -Wpointer-arith"
150 #CFLAGS="$CFLAGS -Wconversion"
151 #CFLAGS="$CFLAGS -Winline"
152 #CFLAGS="$CFLAGS -Wmissing-prototypes"
155 case "$NGX_GCC_VER" in
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"
164 # we have a lot of the unused function arguments
165 CFLAGS="$CFLAGS -Wno-unused"
176 # DragonFly's gcc3 generates DWARF
177 #CFLAGS="$CFLAGS -g -gstabs"
179 if [ ".$CPP" = "." ]; then