nginx-0.1.8-RELEASE import

    *) Bugfix: in the ngx_http_autoindex_module if the long file names were
       in the listing.

    *) Feature: the "^~" modifier in the location directive.

    *) Feature: the proxy_max_temp_file_size directive.
diff --git a/auto/lib/md5/make b/auto/lib/md5/make
index 6e2834e..5dfddfa 100644
--- a/auto/lib/md5/make
+++ b/auto/lib/md5/make
@@ -2,35 +2,21 @@
 # Copyright (C) Igor Sysoev
 
 
-case "$CC" in
+case "$NGX_CC_NAME" in
 
-    cl)
-        makefile=makefile.msvc
-        opt="CPU_OPT=$CPU_OPT LIBC=$LIBC MD5_ASM=$MD5_ASM"
+    msvc*)
+        ngx_makefile=makefile.msvc
+        ngx_opt="CPU_OPT=$CPU_OPT LIBC=$LIBC MD5_ASM=$MD5_ASM"
     ;;
 
-    wcl386)
-        makefile=makefile.owc
-        opt="CPU_OPT=$CPU_OPT"
+    owc*)
+        ngx_makefile=makefile.owc
+        ngx_opt="CPU_OPT=$CPU_OPT"
     ;;
 
-    bcc32)
-        makefile=makefile.bcc
-        opt="-DCPU_OPT=$CPU_OPT -DMD5_ASM=$MD5_ASM"
-    ;;
-
-esac
-
-
-case $PLATFORM in
-
-    win32)
-        line=`echo $MD5/md5.lib: | sed -e "s/\//$ngx_regex_dirsep/g"`
-        echo "$line"                                              >> $MAKEFILE
-    ;;
-
-    *)
-        echo "$MD5/libmd5.a:"                                     >> $MAKEFILE
+    bcc)
+        ngx_makefile=makefile.bcc
+        ngx_opt="-DCPU_OPT=$CPU_OPT -DMD5_ASM=$MD5_ASM"
     ;;
 
 esac
@@ -42,12 +28,16 @@
 case $PLATFORM in
 
     win32)
-        md5=`echo $MD5 | sed -e "s/\//$ngx_regex_dirsep/g"`
+        cp auto/lib/md5/$ngx_makefile $MD5
 
-        cp auto/lib/md5/$makefile $MD5
-        echo "	cd $md5"                                          >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile $opt"                       >> $MAKEFILE
-        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+        cat << END                                        >> $NGX_MAKEFILE
+
+`echo "$MD5/md5.lib:	$NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
+	cd `echo $MD5 | sed -e "s/\//$ngx_regex_dirsep/g"`
+	\$(MAKE) -f $ngx_makefile $ngx_opt
+	cd ..\\..\\..
+
+END
 
         done=YES
     ;;
@@ -55,13 +45,15 @@
     SunOS:*:i86pc)
         if [ $MD5_ASM = YES ]; then
 
-            MD5_OPT="CFLAGS=\"$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN\""
+            cat << END                                        >> $NGX_MAKEFILE
 
-            echo "	cd $MD5 \\"                               >> $MAKEFILE
-            echo "	&& \$(MAKE) $MD5_OPT \\"                  >> $MAKEFILE
-            echo "		MD5_ASM_OBJ=asm/mx86-sol.o \\"    >> $MAKEFILE
-            echo "		CC=\"\$(CC)\" CPP=\"\$(CPP)\" \\" >> $MAKEFILE
-            echo "		libmd5.a"                         >> $MAKEFILE
+$MD5/libmd5.a:	$NGX_MAKEFILE
+	cd $MD5 \\
+	&& \$(MAKE) CFLAGS="$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN" \\
+		CC="\$(CC)" CPP="\$(CPP)" \\
+		MD5_ASM_OBJ=asm/mx86-sol.o clean libmd5.a
+
+END
 
             done=YES
         fi
@@ -73,13 +65,15 @@
     *:i386 | *:i686)
         if [ $MD5_ASM = YES ]; then
 
-            MD5_OPT="CFLAGS=\"$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN\""
+            cat << END                                        >> $NGX_MAKEFILE
 
-            echo "	cd $MD5 \\"                               >> $MAKEFILE
-            echo "	&& \$(MAKE) $MD5_OPT \\"                  >> $MAKEFILE
-            echo "		MD5_ASM_OBJ=asm/mx86-elf.o \\"    >> $MAKEFILE
-            echo "		CC=\"\$(CC)\" CPP=\"\$(CPP)\" \\" >> $MAKEFILE
-            echo "		libmd5.a"                         >> $MAKEFILE
+$MD5/libmd5.a:	$NGX_MAKEFILE
+	cd $MD5 \\
+	&& \$(MAKE) CFLAGS="$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN" \\
+		CC="\$(CC)" CPP="\$(CPP)" \\
+		MD5_ASM_OBJ=asm/mx86-elf.o clean libmd5.a
+
+END
 
             done=YES
         fi
@@ -89,10 +83,14 @@
 
 
 if [ $done = NO ]; then
-    echo "	cd $MD5 \\"                                       >> $MAKEFILE
-    echo "	&& \$(MAKE) CFLAGS=\"$MD5_OPT\" \\"               >> $MAKEFILE
-    echo "		MD5_ASM_OBJ= CC=\"\$(CC)\" libmd5.a"      >> $MAKEFILE
+
+    cat << END                                                >> $NGX_MAKEFILE
+
+$MD5/libmd5.a:	$NGX_MAKEFILE
+	cd $MD5 \\
+	&& \$(MAKE) CFLAGS="$MD5_OPT" \\
+		CC="\$(CC)" MD5_ASM_OBJ= clean libmd5.a
+
+END
+
 fi
-
-
-echo                                                              >> $MAKEFILE
diff --git a/auto/lib/pcre/make b/auto/lib/pcre/make
index 714994d..a60fedb 100644
--- a/auto/lib/pcre/make
+++ b/auto/lib/pcre/make
@@ -2,21 +2,21 @@
 # Copyright (C) Igor Sysoev
 
 
-case "$CC" in
+case "$NGX_CC_NAME" in
 
-    cl)
-        makefile=makefile.msvc
-        opt="CPU_OPT=$CPU_OPT LIBC=$LIBC"
+    msvc*)
+        ngx_makefile=makefile.msvc
+        ngx_opt="CPU_OPT=$CPU_OPT LIBC=$LIBC"
     ;;
 
-    wcl386)
-        makefile=makefile.owc
-        opt="CPU_OPT=$CPU_OPT"
+    owc*)
+        ngx_makefile=makefile.owc
+        ngx_opt="CPU_OPT=$CPU_OPT"
     ;;
 
-    bcc32)
-        makefile=makefile.bcc
-        opt="-DCPU_OPT=$CPU_OPT"
+    bcc)
+        ngx_makefile=makefile.bcc
+        ngx_opt="-DCPU_OPT=$CPU_OPT"
     ;;
 
 esac
@@ -27,39 +27,45 @@
     win32)
         cp auto/lib/pcre/patch.pcre.in $PCRE
         cp auto/lib/pcre/patch.config.in $PCRE
-        cp auto/lib/pcre/$makefile $PCRE
+        cp auto/lib/pcre/$ngx_makefile $PCRE
 
-        pcre=`echo $PCRE | sed -e "s/\//$ngx_regex_dirsep/g"`
-        line=`echo $PCRE/pcre.h: | sed -e "s/\//$ngx_regex_dirsep/g"`
+        ngx_pcre=`echo $PCRE | sed -e "s/\//$ngx_regex_dirsep/g"`
 
-        echo "$line"                                              >> $MAKEFILE
-        echo "	cd $pcre"                                         >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile pcre.h"                     >> $MAKEFILE
-        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
-        echo                                                      >> $MAKEFILE
+        cat << END                                            >> $NGX_MAKEFILE
 
-        line="$PCRE/pcre.lib:	$PCRE/pcre.h"
-        line=`echo $line | sed -e "s/\//$ngx_regex_dirsep/g"`
+`echo "$PCRE/pcre.h:	$NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
+	cd $ngx_pcre
+	\$(MAKE) -f $ngx_makefile pcre.h
+	cd ..\\..\\..
 
-        echo "$line"                                              >> $MAKEFILE
-        echo "	cd $pcre"                                         >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile $opt"                       >> $MAKEFILE
-        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+
+`echo "$PCRE/pcre.lib:	$PCRE/pcre.h" | sed -e "s/\//$ngx_regex_dirsep/g"`
+	cd $ngx_pcre
+	\$(MAKE) -f $ngx_makefile $ngx_opt
+	cd ..\\..\\..
+
+END
+
     ;;
 
     *)
-        PCRE_OPT="CFLAGS=\"$PCRE_OPT\""
+        cat << END                                            >> $NGX_MAKEFILE
 
-        echo "$PCRE/pcre.h:"                                      >> $MAKEFILE
-        echo "	cd $PCRE \\"                                      >> $MAKEFILE
-        echo "	&& CC=\"\$(CC)\" $PCRE_OPT \\"                    >> $MAKEFILE
-        echo "	./configure --disable-shared"                     >> $MAKEFILE
-        echo                                                      >> $MAKEFILE
-        echo "$PCRE/.libs/libpcre.a:	$PCRE/pcre.h"             >> $MAKEFILE
-        echo "	cd $PCRE \\"                                      >> $MAKEFILE
-        echo "	&& \$(MAKE) libpcre.la"                           >> $MAKEFILE
+$PCRE/pcre.h:	$NGX_MAKEFILE
+	cd $PCRE \\
+	&& if [ -f Makefile ]; then \$(MAKE) distclean; fi
+
+	cd $PCRE \\
+	&& CC="\$(CC)" CFLAGS="$PCRE_OPT" \\
+	./configure --disable-shared
+
+
+$PCRE/.libs/libpcre.a:	$PCRE/pcre.h
+	cd $PCRE \\
+	&& \$(MAKE) libpcre.la
+
+END
+
     ;;
 
 esac
-
-echo                                                              >> $MAKEFILE
diff --git a/auto/lib/zlib/make b/auto/lib/zlib/make
index 5822762..2e5ea84 100644
--- a/auto/lib/zlib/make
+++ b/auto/lib/zlib/make
@@ -2,36 +2,22 @@
 # Copyright (C) Igor Sysoev
 
 
-case "$CC" in
+case "$NGX_CC_NAME" in
 
-    cl)
-        makefile=makefile.msvc
-        opt="CPU_OPT=$CPU_OPT LIBC=$LIBC"
+    msvc*)
+        ngx_makefile=makefile.msvc
+        ngx_opt="CPU_OPT=$CPU_OPT LIBC=$LIBC"
 
     ;;
 
-    wcl386)
-        makefile=makefile.owc
-        opt="CPU_OPT=$CPU_OPT"
+    owc*)
+        ngx_makefile=makefile.owc
+        ngx_opt="CPU_OPT=$CPU_OPT"
     ;;
 
-    bcc32)
-        makefile=makefile.bcc
-        opt="-DCPU_OPT=$CPU_OPT"
-    ;;
-
-esac
-
-
-case $PLATFORM in
-
-    win32)
-        line=`echo $ZLIB/zlib.lib: | sed -e "s/\//$ngx_regex_dirsep/g"`
-        echo "$line"                                              >> $MAKEFILE
-    ;;
-
-    *)
-        echo "$ZLIB/libz.a:"                                      >> $MAKEFILE
+    bcc)
+        ngx_makefile=makefile.bcc
+        ngx_opt="-DCPU_OPT=$CPU_OPT"
     ;;
 
 esac
@@ -43,12 +29,16 @@
 case $PLATFORM in
 
     win32)
-        zlib=`echo $ZLIB | sed -e "s/\//$ngx_regex_dirsep/g"`
+        cp auto/lib/zlib/$ngx_makefile $ZLIB
 
-        cp auto/lib/zlib/$makefile $ZLIB
-        echo "	cd $zlib"                                         >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile $opt"                       >> $MAKEFILE
-        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+        cat << END                                            >> $NGX_MAKEFILE
+
+`echo "$ZLIB/zlib.lib:	$NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"`
+	cd `echo $ZLIB | sed -e "s/\//$ngx_regex_dirsep/g"`
+	\$(MAKE) -f $ngx_makefile $ngx_opt
+	cd ..\\..\\..
+
+END
 
         done=YES
     ;;
@@ -59,23 +49,35 @@
     *:i386 | *:i686)
         case $ZLIB_ASM in
             pentium)
-                echo "	cd $ZLIB \\"                              >> $MAKEFILE
-                echo "	&& cp contrib/asm586/match.S . \\"        >> $MAKEFILE
-                echo "	&& CFLAGS=\"$ZLIB_OPT -DASMV\" \\"        >> $MAKEFILE
-                echo "		CC=\"\$(CC)\" \\"                 >> $MAKEFILE
-                echo "		./configure \\"                   >> $MAKEFILE
-                echo "	&& \$(MAKE) OBJA=match.o libz.a"          >> $MAKEFILE
+
+                cat << END                                    >> $NGX_MAKEFILE
+
+$ZLIB/libz.a:	$NGX_MAKEFILE
+	cd $ZLIB \\
+	&& make clean \\
+	&& cp contrib/asm586/match.S . \\
+	&& CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\
+		./configure \\
+	&& \$(MAKE) OBJA=match.o libz.a
+
+END
 
                 done=YES
             ;;
 
             pentiumpro)
-                echo "	cd $ZLIB \\"                              >> $MAKEFILE
-                echo "	&& cp contrib/asm686/match.S . \\"        >> $MAKEFILE
-                echo "	&& CFLAGS=\"$ZLIB_OPT -DASMV\" \\"        >> $MAKEFILE
-                echo "		CC=\"\$(CC)\" \\"                 >> $MAKEFILE
-                echo "		./configure \\"                   >> $MAKEFILE
-                echo "	&& \$(MAKE) OBJA=match.o libz.a"          >> $MAKEFILE
+
+                cat << END                                    >> $NGX_MAKEFILE
+
+$ZLIB/libz.a:	$NGX_MAKEFILE
+	cd $ZLIB \\
+	&& make clean \\
+	&& cp contrib/asm686/match.S . \\
+	&& CFLAGS="$ZLIB_OPT -DASMV" CC="\$(CC)" \\
+		./configure \\
+	&& \$(MAKE) OBJA=match.o libz.a
+
+END
 
                 done=YES
             ;;
@@ -97,11 +99,16 @@
 
 
 if [ $done = NO ]; then
-    echo "	cd $ZLIB \\"                                      >> $MAKEFILE
-    echo "	&& CFLAGS=\"$ZLIB_OPT\" CC=\"\$(CC)\" \\"         >> $MAKEFILE
-    echo "		./configure \\"                           >> $MAKEFILE
-    echo "	&& \$(MAKE) libz.a"                               >> $MAKEFILE
+
+    cat << END                                                >> $NGX_MAKEFILE
+
+$ZLIB/libz.a:	$NGX_MAKEFILE
+	cd $ZLIB \\
+	&& make clean \\
+	&& CFLAGS="$ZLIB_OPT" CC="\$(CC)" \\
+		./configure \\
+	&& \$(MAKE) libz.a
+
+END
+
 fi
-
-
-echo                                                              >> $MAKEFILE