Mercurial > hg > nginx-vendor-0-5
diff auto/cc @ 0:f0b350454894 NGINX_0_1_0
nginx 0.1.0
*) The first public version.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 04 Oct 2004 00:00:00 +0400 |
parents | |
children |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/auto/cc @@ -0,0 +1,376 @@ + +# Copyright (C) Igor Sysoev + + +CFLAGS="$CFLAGS $CC_OPT" + +case $CC in + + *gcc*) + # gcc 2.7.2.3, 2.8.1, 2.95.4, + # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4 + + # optimizations + #CFLAGS="$CFLAGS -O2 -fomit-frame-pointer" + + case $CPU in + pentium) + # optimize for Pentium and Athlon + CPU_OPT="-march=pentium" + ;; + + 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 + + # STUB for batch builds + if [ $CC = gcc27 ]; then CPU_OPT=; fi + + CFLAGS="$CFLAGS $PIPE $CPU_OPT" + + if [ ".$PCRE_OPT" = "." ]; then + PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" + else + PCRE_OPT="$PCRE_OPT $PIPE" + fi + + if [ ".$MD5_OPT" = "." ]; then + MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" + else + MD5_OPT="$MD5_OPT $PIPE" + fi + + if [ ".$ZLIB_OPT" = "." ]; then + ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" + else + ZLIB_OPT="$ZLIB_OPT $PIPE" + 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" + + # DragonFly's gcc3 generates DWARF + #CFLAGS="$CFLAGS -g -gstabs" + + have=HAVE_GCC_VARIADIC_MACROS . auto/have + + if [ ".$CPP" = "." ]; then + CPP="$CC -E" + fi + + LINK="\$(CC)" + + INCOPT="-I " + COMPOPT="-c" + OBJOUT="-o " + BINOUT="-o " + OBJEXT="o" + + CC_STRONG="$CC -Wall -Werror" + ;; + + + *icc) + # Intel C++ compiler 7.1, 8.0 + + # optimizations + CFLAGS="$CFLAGS -O" + # inline functions declared with __inline + #CFLAGS="$CFLAGS -Ob1" + # inline any function, at the compiler's discretion + CFLAGS="$CFLAGS -Ob2" + + # single-file IP optimizations + #IPO="-ip" + # multi-file IP optimizations + IPO="-ipo -ipo_obj" + CFLAGS="$CFLAGS $IPO" + CORE_LINK="$CORE_LINK $IPO" + CORE_LINK="$CORE_LINK -opt_report_file=$OBJS/opt_report_file" + + case $CPU in + pentium) + # optimize for Pentium and Athlon + CPU_OPT="-march=pentium" + ;; + + 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" = "." ]; then + PCRE_OPT="-O $IPO $CPU_OPT" + fi + + if [ ".$MD5_OPT" = "." ]; then + MD5_OPT="-O $IPO $CPU_OPT" + fi + + if [ ".$ZLIB_OPT" = "." ]; then + ZLIB_OPT="-O $IPO $CPU_OPT" + fi + + # warnings + CFLAGS="$CFLAGS -w1" + #CFLAGS="$CFLAGS -w2" + + # stop on warning + CFLAGS="$CFLAGS -Werror" + + # debug + CFLAGS="$CFLAGS -g" + + have=HAVE_C99_VARIADIC_MACROS . auto/have + + LINK="\$(CC)" + + INCOPT="-I " + COMPOPT="-c" + OBJOUT="-o " + BINOUT="-o " + OBJEXT="o" + + CC_STRONG="$CC -w1 -Werror" + ;; + + + cl) + # MSVC 6.0 SP2 + + # optimizations + + # 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 + pentium) + # optimize for Pentium and Athlon + CPU_OPT="-G5" + ;; + + 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" + + # link with libcmt.lib, multithreaded + #LIBC="-MT" + # link with msvcrt.dll + LIBC="-MD" + + CFLAGS="$CFLAGS $LIBC" + + # disable logo + CFLAGS="$CFLAGS -nologo" + + LINK="\$(CC)" + + # link flags + CORE_LINK="$CORE_LINK -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" + + INCOPT="-I " + COMPOPT="-c" + OBJOUT="-Fo" + BINOUT="-Fe" + OBJEXT="obj" + BINEXT=".exe" + #DIRSEP='\\' + ;; + + + wcl386) + # Open Watcom C 1.0, 1.2 + + # optimizations + + # 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 + pentium) + # optimize for Pentium and Athlon + # register-based arguments passing conventions + CPU_OPT="-5r" + # stack-based arguments passing conventions + #CPU_OPT="-5s" + ;; + + 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" + + # Open Watcom C 1.2 + #have=HAVE_C99_VARIADIC_MACROS . auto/have + + # 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" + + INCOPT="-i=" + COMPOPT="-c" + OBJOUT="-fo" + BINOUT="-fe=" + OBJEXT="obj" + BINEXT=".exe" + DIRSEP='\\' + + MAKE_SL=YES + ;; + + + bcc32) + # Borland C++ 5.5 + + # optimizations + + # maximize speed + CFLAGS="$CFLAGS -O2" + + case $CPU in + pentium) + # optimize for Pentium and Athlon + CPU_OPT="-5" + ;; + + pentiumpro) + # optimize for Pentium Pro, Pentium II and Pentium III + CPU_OPT="-6" + ;; + esac + + CFLAGS="$CFLAGS $CPU_OPT" + + # multithreaded + CFLAGS="$CFLAGS -tWM" + + # stop on warning + CFLAGS="$CFLAGS -w!" + + # disable logo + CFLAGS="$CFLAGS -q" + + # precompiled headers + CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.csm" + PCH="$OBJS\\ngx_config.csm" + BUILDPCH="-H=$OBJS\\ngx_config.csm" + USEPCH="-Hu -H=$OBJS\\ngx_config.csm" + + LINK="\$(CC)" + + INCOPT="-I" + COMPOPT="-c" + OBJOUT="-o" + BINOUT="-e" + OBJEXT="obj" + BINEXT=".exe" + DIRSEP='\\' + ;; + +esac