|  |  | 
|  | # Copyright (C) Igor Sysoev | 
|  |  | 
|  |  | 
|  | # Sun C 5.7 Patch 117837-04 2005/05/11 | 
|  | # Sun C 5.8 2005/10/13 | 
|  |  | 
|  | 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_MACHINE" in | 
|  |  | 
|  | i86pc) | 
|  | ngx_feature="PAUSE hardware capability bug" | 
|  | ngx_feature_name= | 
|  | ngx_feature_run=bug | 
|  | ngx_feature_incs= | 
|  | ngx_feature_path= | 
|  | ngx_feature_libs= | 
|  | ngx_feature_test='__asm ("pause")' | 
|  |  | 
|  | . auto/feature | 
|  |  | 
|  | if [ $ngx_found = yes ]; then | 
|  | # disable [ PAUSE ] hwcap for Sun Studio 11 | 
|  | CORE_LINK="$CORE_LINK -Msrc/os/unix/ngx_sunpro_x86.map" | 
|  | fi | 
|  |  | 
|  | NGX_AUX=" src/os/unix/ngx_sunpro_x86.il" | 
|  | ;; | 
|  |  | 
|  | sun4u | sun4v) | 
|  | # "-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" |