Annotation of embedaddon/nginx/auto/cc/sunc, revision 1.1

1.1     ! misho       1: 
        !             2: # Copyright (C) Igor Sysoev
        !             3: # Copyright (C) Nginx, Inc.
        !             4: 
        !             5: 
        !             6: # Sun C 5.7 Patch 117837-04 2005/05/11    Sun Studio 10
        !             7: # Sun C 5.8 2005/10/13                    Sun Studio 11
        !             8: # Sun C 5.9 SunOS_i386 2007/05/03         Sun Studio 12
        !             9: # Sun C 5.9 SunOS_sparc 2007/05/03
        !            10: # Sun C 5.10 SunOS_i386 2009/06/03        Sun Studio 12.1
        !            11: # Sun C 5.11 SunOS_i386 2010/08/13        Sun Studio 12.2
        !            12: 
        !            13: NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
        !            14:                           | sed -e 's/^.* Sun C \(.*\)/\1/'`
        !            15: 
        !            16: echo " + Sun C version: $NGX_SUNC_VER"
        !            17: 
        !            18: have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
        !            19: 
        !            20: 
        !            21: cat << END > $NGX_AUTOTEST.c
        !            22: 
        !            23: int main() { printf("%d", __SUNPRO_C); }
        !            24: 
        !            25: END
        !            26: 
        !            27: eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
        !            28: 
        !            29: if [ -x $NGX_AUTOTEST ]; then
        !            30:     ngx_sunc_ver=`$NGX_AUTOTEST`
        !            31: fi
        !            32: 
        !            33: rm $NGX_AUTOTEST*
        !            34: 
        !            35: # 1424 == 0x590, Sun Studio 12
        !            36: 
        !            37: if [ "$ngx_sunc_ver" -ge 1424 ]; then
        !            38:     ngx_sparc32="-m32"
        !            39:     ngx_sparc64="-m64"
        !            40:     ngx_amd64="-m64"
        !            41: 
        !            42: else
        !            43:     ngx_sparc32="-xarch=v8plus"
        !            44:     ngx_sparc64="-xarch=v9"
        !            45:     ngx_amd64="-xarch=amd64"
        !            46: fi
        !            47: 
        !            48: case "$NGX_MACHINE" in
        !            49: 
        !            50:     i86pc)
        !            51:         NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
        !            52:     ;;
        !            53: 
        !            54:     sun4u | sun4v)
        !            55:         NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
        !            56:     ;;
        !            57: 
        !            58: esac
        !            59: 
        !            60: 
        !            61: # optimizations
        !            62: 
        !            63: # 20736 == 0x5100, Sun Studio 12.1
        !            64: 
        !            65: if [ "$ngx_sunc_ver" -ge 20736 ]; then
        !            66:     ngx_fast="-fast"
        !            67: 
        !            68: else
        !            69:     # older versions had problems with bit-fields
        !            70:     ngx_fast="-fast -xalias_level=any"
        !            71: fi
        !            72: 
        !            73: IPO=-xipo
        !            74: CFLAGS="$CFLAGS $ngx_fast $IPO"
        !            75: CORE_LINK="$CORE_LINK $ngx_fast $IPO"
        !            76: 
        !            77: 
        !            78: case $CPU in
        !            79:     pentium)
        !            80:         # optimize for Pentium and Athlon
        !            81:         CPU_OPT="-xchip=pentium"
        !            82:     ;;
        !            83: 
        !            84:     pentiumpro)
        !            85:         # optimize for Pentium Pro, Pentium II
        !            86:         CPU_OPT="-xchip=pentium_pro"
        !            87:     ;;
        !            88: 
        !            89:     pentium3)
        !            90:         # optimize for Pentium III
        !            91:         CPU_OPT="-xchip=pentium3"
        !            92:         #CPU_OPT="$CPU_OPT -xarch=sse"
        !            93:         CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
        !            94:     ;;
        !            95: 
        !            96:     pentium4)
        !            97:         # optimize for Pentium 4
        !            98:         CPU_OPT="-xchip=pentium4"
        !            99:         #CPU_OPT="$CPU_OPT -xarch=sse2"
        !           100:         CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
        !           101:     ;;
        !           102: 
        !           103:     opteron)
        !           104:         # optimize for Opteron
        !           105:         CPU_OPT="-xchip=opteron"
        !           106:         #CPU_OPT="$CPU_OPT -xarch=sse2"
        !           107:         CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
        !           108:     ;;
        !           109: 
        !           110:     sparc32)
        !           111:         # build 32-bit UltraSparc binary
        !           112:         CPU_OPT="$ngx_sparc32"
        !           113:         CORE_LINK="$CORE_LINK $ngx_sparc32"
        !           114:         CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32"
        !           115:         NGX_CPU_CACHE_LINE=64
        !           116:     ;;
        !           117: 
        !           118:     sparc64)
        !           119:         # build 64-bit UltraSparc binary
        !           120:         CPU_OPT="$ngx_sparc64"
        !           121:         CORE_LINK="$CORE_LINK $ngx_sparc64"
        !           122:         CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64"
        !           123:         NGX_CPU_CACHE_LINE=64
        !           124:     ;;
        !           125: 
        !           126:     amd64)
        !           127:         # build 64-bit amd64 binary
        !           128:         CPU_OPT="$ngx_amd64"
        !           129:         CORE_LINK="$CORE_LINK $ngx_amd64"
        !           130:         CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
        !           131:         NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
        !           132:         NGX_CPU_CACHE_LINE=64
        !           133:     ;;
        !           134: 
        !           135: esac
        !           136: 
        !           137: 
        !           138: CFLAGS="$CFLAGS $CPU_OPT"
        !           139: 
        !           140: 
        !           141: if [ ".$PCRE_OPT" = "." ]; then
        !           142:     PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
        !           143: fi
        !           144: 
        !           145: if [ ".$MD5_OPT" = "." ]; then
        !           146:     MD5_OPT="$ngx_fast $IPO $CPU_OPT"
        !           147: fi
        !           148: 
        !           149: if [ ".$ZLIB_OPT" = "." ]; then
        !           150:     ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
        !           151: fi
        !           152: 
        !           153: 
        !           154: # stop on warning
        !           155: CFLAGS="$CFLAGS -errwarn=%all"
        !           156: 
        !           157: # debug
        !           158: CFLAGS="$CFLAGS -g"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>