diff --git a/auto/cc b/auto/cc
deleted file mode 100644
index eff6421..0000000
--- a/auto/cc
+++ /dev/null
@@ -1,376 +0,0 @@
-
-# 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
