Annotation of embedaddon/nginx/auto/cc/gcc, revision 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>