view 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 source


# 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