summaryrefslogtreecommitdiff
path: root/auto/cc
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-10-05 15:39:18 +0000
committerJonathan Kolb <jon@b0g.us>2004-10-05 15:39:18 +0000
commit7d66b1f69bb81e48c7efb79884771ea66b3685ca (patch)
treee0cf023d6eebb4e422e62c5403e74e8218dc3192 /auto/cc
downloadnginx-7d66b1f69bb81e48c7efb79884771ea66b3685ca.tar.gz
The first public versionv0.1.0
Diffstat (limited to 'auto/cc')
-rw-r--r--auto/cc376
1 files changed, 376 insertions, 0 deletions
diff --git a/auto/cc b/auto/cc
new file mode 100644
index 000000000..eff642125
--- /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