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>