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