aboutsummaryrefslogtreecommitdiffstats
path: root/app/nginx/auto/cc/sunc
diff options
context:
space:
mode:
Diffstat (limited to 'app/nginx/auto/cc/sunc')
-rw-r--r--app/nginx/auto/cc/sunc160
1 files changed, 160 insertions, 0 deletions
diff --git a/app/nginx/auto/cc/sunc b/app/nginx/auto/cc/sunc
new file mode 100644
index 0000000..806ccc4
--- /dev/null
+++ b/app/nginx/auto/cc/sunc
@@ -0,0 +1,160 @@
+
+# Copyright (C) Igor Sysoev
+# Copyright (C) Nginx, Inc.
+
+
+# Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10
+# Sun C 5.8 2005/10/13 Sun Studio 11
+# Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
+# Sun C 5.9 SunOS_sparc 2007/05/03
+# Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1
+# Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2
+
+NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \
+ | sed -e 's/^.* Sun C \(.*\)/\1/'`
+
+echo " + Sun C version: $NGX_SUNC_VER"
+
+have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
+
+
+cat << END > $NGX_AUTOTEST.c
+
+int main(void) {
+ printf("%d", __SUNPRO_C);
+ return 0;
+}
+
+END
+
+eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
+
+if [ -x $NGX_AUTOTEST ]; then
+ ngx_sunc_ver=`$NGX_AUTOTEST`
+fi
+
+rm -rf $NGX_AUTOTEST*
+
+# 1424 == 0x590, Sun Studio 12
+
+if [ "$ngx_sunc_ver" -ge 1424 ]; then
+ ngx_sparc32="-m32"
+ ngx_sparc64="-m64"
+ ngx_amd64="-m64"
+
+else
+ ngx_sparc32="-xarch=v8plus"
+ ngx_sparc64="-xarch=v9"
+ ngx_amd64="-xarch=amd64"
+fi
+
+case "$NGX_MACHINE" in
+
+ i86pc)
+ NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
+ ;;
+
+ sun4u | sun4v)
+ NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
+ ;;
+
+esac
+
+MAIN_LINK=
+MODULE_LINK="-G"
+
+
+# optimizations
+
+# 20736 == 0x5100, Sun Studio 12.1
+
+if [ "$ngx_sunc_ver" -ge 20736 ]; then
+ ngx_fast="-fast"
+
+else
+ # older versions had problems with bit-fields
+ ngx_fast="-fast -xalias_level=any"
+fi
+
+IPO=-xipo
+CFLAGS="$CFLAGS $ngx_fast $IPO"
+CORE_LINK="$CORE_LINK $ngx_fast $IPO"
+
+
+case $CPU in
+ pentium)
+ # optimize for Pentium and Athlon
+ CPU_OPT="-xchip=pentium"
+ ;;
+
+ pentiumpro)
+ # optimize for Pentium Pro, Pentium II
+ CPU_OPT="-xchip=pentium_pro"
+ ;;
+
+ pentium3)
+ # optimize for Pentium III
+ CPU_OPT="-xchip=pentium3"
+ #CPU_OPT="$CPU_OPT -xarch=sse"
+ CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
+ ;;
+
+ pentium4)
+ # optimize for Pentium 4
+ CPU_OPT="-xchip=pentium4"
+ #CPU_OPT="$CPU_OPT -xarch=sse2"
+ CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
+ ;;
+
+ opteron)
+ # optimize for Opteron
+ CPU_OPT="-xchip=opteron"
+ #CPU_OPT="$CPU_OPT -xarch=sse2"
+ CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
+ ;;
+
+ sparc32)
+ # build 32-bit UltraSparc binary
+ CPU_OPT="$ngx_sparc32"
+ CORE_LINK="$CORE_LINK $ngx_sparc32"
+ CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32"
+ NGX_CPU_CACHE_LINE=64
+ ;;
+
+ sparc64)
+ # build 64-bit UltraSparc binary
+ CPU_OPT="$ngx_sparc64"
+ CORE_LINK="$CORE_LINK $ngx_sparc64"
+ CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64"
+ NGX_CPU_CACHE_LINE=64
+ ;;
+
+ amd64)
+ # build 64-bit amd64 binary
+ CPU_OPT="$ngx_amd64"
+ CORE_LINK="$CORE_LINK $ngx_amd64"
+ CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
+ NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
+ NGX_CPU_CACHE_LINE=64
+ ;;
+
+esac
+
+
+CFLAGS="$CFLAGS $CPU_OPT"
+
+
+if [ ".$PCRE_OPT" = "." ]; then
+ PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
+fi
+
+if [ ".$ZLIB_OPT" = "." ]; then
+ ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
+fi
+
+
+# stop on warning
+CFLAGS="$CFLAGS -errwarn=%all"
+
+# debug
+CFLAGS="$CFLAGS -g"