diff options
Diffstat (limited to 'auto/cc')
-rw-r--r-- | auto/cc/conf | 8 | ||||
-rw-r--r-- | auto/cc/gcc | 13 | ||||
-rw-r--r-- | auto/cc/icc | 2 | ||||
-rw-r--r-- | auto/cc/name | 6 | ||||
-rw-r--r-- | auto/cc/sunc | 95 |
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" |