nginx/auto/cc
2004-03-10 20:56:39 +00:00

268 lines
6.1 KiB
Plaintext

case $CC in
*gcc)
# gcc 2.95.4, 3.3.2
# optimization
#CFLAGS="$CFLAGS -O2 -fomit-frame-pointer"
case $CPU in
pentiumpro)
# optimize for Pentium Pro, Pentium II and Pentium III
CPU_OPT="-march=pentiumpro"
;;
pentium4)
# optimize for Pentium 4, gcc 3.x
CPU_OPT="-march=pentium4"
;;
esac
CFLAGS="$CFLAGS $CPU_OPT"
if [ $PCRE_OPT = NO ]; then
PCRE_OPT="CFLAGS=\"-O2 -fomit-frame-pointer $CPU_OPT\""
fi
if [ $MD5_OPT = NO ]; then
MD5_OPT="CFLAGS=\"-O2 -fomit-frame-pointer $CPU_OPT\""
fi
if [ $ZLIB_OPT = NO ]; then
ZLIB_OPT="CFLAGS=\"-O2 -fomit-frame-pointer $CPU_OPT $ZLIB_ASMV\""
fi
# warnings
CFLAGS="$CFLAGS -O -W"
CFLAGS="$CFLAGS -Wall -Wpointer-arith"
#CFLAGS="$CFLAGS -Wconversion"
#CFLAGS="$CFLAGS -Winline"
# we have a lot of the unused function arguments
CFLAGS="$CFLAGS -Wno-unused"
# stop on warning
CFLAGS="$CFLAGS -Werror"
# ANSI C warnings
#CFLAGS="$CFLAGS -pedantic"
# debug
CFLAGS="$CFLAGS -g"
have=HAVE_GCC_VARIADIC_MACROS . auto/have
LINK="\$(CC)"
OBJEXT=o
COMPILEONLY="-c"
OBJOUT="-o "
BINOUT="-o "
CC_STRONG="$CC -Wall -Werror"
;;
*icc)
# Intel C++ compiler 7.1
# optimization
CFLAGS="$CFLAGS -O"
# inline functions declared with __inline
CFLAGS="$CFLAGS -Ob1"
# inline any function, at the compiler's discretion
#CFLAGS="$CFLAGS -Ob2"
case $CPU in
pentiumpro)
# optimize for Pentium Pro, Pentium II and Pentium III
CPU_OPT="-mcpu=pentiumpro -march=pentiumpro"
;;
pentium4)
# optimize for Pentium 4, default
CPU_OPT="-march=pentium4"
;;
esac
CFLAGS="$CFLAGS $CPU_OPT"
if [ $PCRE_OPT = NO ]; then
PCRE_OPT="CFLAGS=\"-O $CPU_OPT\""
fi
if [ $MD5_OPT = NO ]; then
MD5_OPT="CFLAGS=\"-O $CPU_OPT\""
fi
if [ $ZLIB_OPT = NO ]; then
ZLIB_OPT="CFLAGS=\"-O $CPU_OPT $ZLIB_ASMV\""
fi
# warnings
CFLAGS="$CFLAGS -w1"
# stop on warning
CFLAGS="$CFLAGS -Werror"
have=HAVE_C99_VARIADIC_MACROS . auto/have
LINK="\$(CC)"
OBJEXT=o
COMPILEONLY="-c"
OBJOUT="-o "
BINOUT="-o "
CC_STRONG="$CC -w1 -Werror"
;;
cl)
# MSVC 6.0 SP2
# optimization
# maximize speed
CFLAGS="$CFLAGS -O2"
# enable global optimization
CFLAGS="$CFLAGS -Og"
# enable intrinsic functions
CFLAGS="$CFLAGS -Oi"
# inline expansion
CFLAGS="$CFLAGS -Ob1"
# enable frame pointer omission
CFLAGS="$CFLAGS -Oy"
# disable stack checking calls
CFLAGS="$CFLAGS -Gs"
case $CPU in
pentiumpro)
# optimize for Pentium Pro, Pentium II and Pentium III
CPU_OPT="-G6"
;;
pentium4)
# optimize for Pentium 4
#CPU_OPT="-G7"
;;
esac
CFLAGS="$CFLAGS $CPU_OPT"
# warnings
CFLAGS="$CFLAGS -W3"
#CFLAGS="$CFLAGS -W4"
# stop on warning
CFLAGS="$CFLAGS -WX"
# multithreaded
CFLAGS="$CFLAGS -MT"
# disable logo
CFLAGS="$CFLAGS -nologo"
LINK="\$(CC)"
# link flags
CORE_LINK="$CORE_LINK -link"
# msvcrt.dll
CORE_LINK="$CORE_LINK -nodefaultlib:libcmt"
CORE_LIBS="$CORE_LIBS msvcrt.lib"
# static libc
#CORE_LINK="$CORE_LINK -nodefaultlib:msvcrt"
CORE_LINK="$CORE_LINK -verbose:lib"
# debug
CFLAGS="$CFLAGS -Yd"
CORE_LINK="$CORE_LINK -debug -debugtype:coff"
# precompiled headers
CORE_DEPS="$CORE_DEPS ngx_config.pch"
PCH="ngx_config.pch"
BUILDPCH="-Ycngx_config.h"
USEPCH="-Yungx_config.h"
OBJEXT=obj
COMPILEONLY="-c"
OBJOUT="-Fo"
BINOUT="-Fe"
BINEXT=.exe
CC_STRONG="$CC -W3 -WX"
;;
wcl386)
# Open Watcom 1.0
# optimization
# maximize speed
CFLAGS="$CFLAGS -ot"
# reorder instructions for best pipeline usage
CFLAGS="$CFLAGS -op"
# inline intrinsic functions
CFLAGS="$CFLAGS -oi"
# inline expansion
CFLAGS="$CFLAGS -oe"
# disable stack checking calls
CFLAGS="$CFLAGS -s"
case $CPU in
pentiumpro)
# optimize for Pentium Pro, Pentium II and Pentium III
# register-based arguments passing conventions
CPU_OPT="-6r"
# stack-based arguments passing conventions
#CPU_OPT="-6s"
;;
esac
CFLAGS="$CFLAGS $CPU_OPT"
# warnings
#CFLAGS="$CFLAGS -w3"
CFLAGS="$CFLAGS -wx"
# stop on warning
CFLAGS="$CFLAGS -we"
# built target is NT
CFLAGS="$CFLAGS -bt=nt"
# multithreaded
CFLAGS="$CFLAGS -bm"
# debug
CFLAGS="$CFLAGS -d2"
# quiet
CFLAGS="$CFLAGS -zq"
# precompiled headers
CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.pch"
PCH="$OBJS\\ngx_config.pch"
BUILDPCH="-fhq=$OBJS\\ngx_config.pch"
USEPCH="-fh=$OBJS\\ngx_config.pch"
LINK="\$(CC)"
# link flags
CORE_LINK="$CORE_LINK -l=nt"
OBJEXT=obj
COMPILEONLY="-c"
OBJOUT="-fo"
BINOUT="-fe="
BINEXT=.exe
INC_EQ=YES
MAKE_BS=YES
MAKE_SL=YES
;;
esac