aboutsummaryrefslogtreecommitdiff
path: root/auto/cc
diff options
context:
space:
mode:
Diffstat (limited to 'auto/cc')
-rw-r--r--auto/cc/conf8
-rw-r--r--auto/cc/gcc13
-rw-r--r--auto/cc/icc2
-rw-r--r--auto/cc/name6
-rw-r--r--auto/cc/sunc95
5 files changed, 122 insertions, 2 deletions
diff --git a/auto/cc/conf b/auto/cc/conf
index 4d151da96..37f2d2e42 100644
--- a/auto/cc/conf
+++ b/auto/cc/conf
@@ -44,7 +44,7 @@ else
gcc)
# gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
# 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
- # 4.0.0
+ # 4.0.0, 4.0.1, 4.1.0
. auto/cc/gcc
;;
@@ -55,6 +55,12 @@ else
. auto/cc/icc
;;
+ sunc)
+ # Sun C 5.7 Patch 117837-04 2005/05/11
+
+ . auto/cc/sunc
+ ;;
+
ccc)
# Compaq C V6.5-207
diff --git a/auto/cc/gcc b/auto/cc/gcc
index d76d4a23c..af279fa43 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -33,6 +33,17 @@ if [ $ngx_found = yes ]; then
PIPE="-pipe"
fi
+
+case "$NGX_PLATFORM" in
+
+ *:sun4u)
+ # "-mcpu=v9" enables the "casxa" assembler instruction
+ CFLAGS="$CFLAGS -mcpu=v9"
+ ;;
+
+esac
+
+
# optimizations
#NGX_GCC_OPT="-O2"
@@ -49,7 +60,7 @@ case $CPU in
CPU_OPT="-march=pentium"
;;
- pentiumpro)
+ pentiumpro | pentium3)
# optimize for Pentium Pro, Pentium II and Pentium III
CPU_OPT="-march=pentiumpro"
;;
diff --git a/auto/cc/icc b/auto/cc/icc
index cca24cd36..0aa975ed2 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -94,6 +94,8 @@ CFLAGS="$CFLAGS -wd1418"
CFLAGS="$CFLAGS -wd1419"
# explicit conversion of a 64-bit integral type to a smaller integral type
CFLAGS="$CFLAGS -wd1683"
+# conversion from pointer to same-sized integral type, warning on offsetof()
+CFLAGS="$CFLAGS -wd1684"
case "$NGX_ICC_VER" in
8.* | 9.*)
diff --git a/auto/cc/name b/auto/cc/name
index c89ce7975..faa329075 100644
--- a/auto/cc/name
+++ b/auto/cc/name
@@ -39,6 +39,11 @@ if `$CC -V 2>&1 | grep '^Intel(R) C' 2>&1 >/dev/null`; then
echo " using Intel C++ compiler"
else
+if `$CC -V 2>&1 | grep 'Sun C' 2>&1 >/dev/null`; then
+ NGX_CC_NAME=sunc
+ echo " using Sun C compiler"
+
+else
if `$CC -V 2>&1 | grep '^Compaq C' 2>&1 >/dev/null`; then
NGX_CC_NAME=ccc
echo " using Compaq C compiler"
@@ -54,6 +59,7 @@ else
fi # acc
fi # ccc
+fi # sunc
fi # icc
fi # gcc
fi # bcc
diff --git a/auto/cc/sunc b/auto/cc/sunc
new file mode 100644
index 000000000..9d400a2ea
--- /dev/null
+++ b/auto/cc/sunc
@@ -0,0 +1,95 @@
+
+# Copyright (C) Igor Sysoev
+
+
+# Sun C 5.7 Patch 117837-04 2005/05/11
+
+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
+
+
+case "$NGX_PLATFORM" in
+
+ *:i86pc)
+ NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
+ ;;
+
+ *:sun4u)
+ # "-xarch=v9" enables the "casa" assembler instruction
+ CFLAGS="$CFLAGS -xarch=v9"
+ CORE_LINK="$CORE_LINK -xarch=v9"
+ NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
+ ;;
+
+esac
+
+
+# optimizations
+
+CFLAGS="$CFLAGS -fast"
+
+
+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"
+ ;;
+
+ amd64)
+ # build 64-bit amd64 binary
+ CPU_OPT="-xarch=amd64"
+ CORE_LINK="$CORE_LINK -xarch=amd64"
+ NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
+ ;;
+
+esac
+
+
+CFLAGS="$CFLAGS $CPU_OPT"
+
+
+if [ ".$PCRE_OPT" = "." ]; then
+ PCRE_OPT="-fast $CPU_OPT"
+fi
+
+if [ ".$MD5_OPT" = "." ]; then
+ MD5_OPT="-fast $CPU_OPT"
+fi
+
+if [ ".$ZLIB_OPT" = "." ]; then
+ ZLIB_OPT="-fast $CPU_OPT"
+fi
+
+
+# stop on warning
+CFLAGS="$CFLAGS -errwarn=%all"