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>