nginx-0.0.2-2004-03-12-00:34:52 import
diff --git a/auto/lib/conf b/auto/lib/conf
index 60a824f..163193f 100644
--- a/auto/lib/conf
+++ b/auto/lib/conf
@@ -3,12 +3,10 @@
     . auto/lib/pcre/conf
 fi
 
-
 if [ $USE_MD5 = YES ]; then
     . auto/lib/md5/conf
 fi
 
-
 if [ $USE_ZLIB = YES ]; then
     . auto/lib/zlib/conf
 fi
diff --git a/auto/lib/make b/auto/lib/make
index 66568e6..3bab86b 100644
--- a/auto/lib/make
+++ b/auto/lib/make
@@ -1,4 +1,8 @@
 
+if [ $PCRE != NO ]; then
+    . auto/lib/pcre/make
+fi
+
 if [ $MD5 != NO ]; then
     . auto/lib/md5/make
 fi
@@ -6,7 +10,3 @@
 if [ $ZLIB != NO ]; then
     . auto/lib/zlib/make
 fi
-
-if [ $PCRE != NO ]; then
-    . auto/lib/pcre/make
-fi
diff --git a/auto/lib/md5/make b/auto/lib/md5/make
index c844c29..0f2bb3c 100644
--- a/auto/lib/md5/make
+++ b/auto/lib/md5/make
@@ -25,6 +25,9 @@
 esac
 
 
+done=NO
+
+
 case $PLATFORM in
 
     win32)
@@ -32,39 +35,51 @@
         cp auto/lib/md5/$makefile $MD5
         echo "	cd $MD5"                                          >> $MAKEFILE
         echo $ngx_n "	\$(MAKE) -f $makefile" $ngx_c             >> $MAKEFILE
-        echo " CPU_OPT=$CPU_OPT MD5_ASM=$MD5_ASM"                 >> $MAKEFILE
+        echo " CPU_OPT=$CPU_OPT LIBC=$LIBC MD5_ASM=$MD5_ASM"      >> $MAKEFILE
         echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+
+        done=YES
     ;;
 
     SunOS:*:i86pc)
         if [ $MD5_ASM = YES ]; then
-            echo "	cd $MD5 \\"                               >> $MAKEFILE
-            echo "	&& \$(MAKE) $MD5_OPT MAKE=\$(MAKE) \\"    >> $MAKEFILE
-            echo "		x86-solaris"                      >> $MAKEFILE
-        else
+
+            MD5_OPT="CFLAGS=\"$MD5_OPT -DSOL -DMD5_ASM -DL_ENDIAN\""
+
             echo "	cd $MD5 \\"                               >> $MAKEFILE
             echo "	&& \$(MAKE) $MD5_OPT \\"                  >> $MAKEFILE
-            echo "		MD5_ASM_OBJ= CC=$CC all"          >> $MAKEFILE
+            echo "		MD5_ASM_OBJ=asm/mx86-elf.o \\"    >> $MAKEFILE
+            echo "		CC=$CC CPP=\"$CPP\" libmd5.a"     >> $MAKEFILE
+
+            done=YES
         fi
     ;;
 
+    # FreeBSD: i386
+    # Linux: i686
+
     *:i386 | *:i686)
         if [ $MD5_ASM = YES ]; then
-            echo "	cd $MD5 \\"                               >> $MAKEFILE
-            echo "	&& \$(MAKE) $MD5_OPT MAKE=\$(MAKE) \\"    >> $MAKEFILE
-            echo "		x86-elf"                          >> $MAKEFILE
-        else
+
+            MD5_OPT="CFLAGS=\"$MD5_OPT -DELF -DMD5_ASM -DL_ENDIAN\""
+
             echo "	cd $MD5 \\"                               >> $MAKEFILE
             echo "	&& \$(MAKE) $MD5_OPT \\"                  >> $MAKEFILE
-            echo "		MD5_ASM_OBJ= CC=$CC all"          >> $MAKEFILE
+            echo "		MD5_ASM_OBJ=asm/mx86-elf.o \\"    >> $MAKEFILE
+            echo "		CC=$CC CPP=\"$CPP\" libmd5.a"     >> $MAKEFILE
+
+            done=YES
         fi
     ;;
 
-    *)
-        echo "	cd $MD5 \\"                                       >> $MAKEFILE
-        echo "	&& \$(MAKE) $MD5_OPT MD5_ASM_OBJ= CC=$CC all"     >> $MAKEFILE
-    ;;
-
 esac
 
+
+if [ $done = NO ]; then
+    echo "	cd $MD5 \\"                                       >> $MAKEFILE
+    echo "	&& \$(MAKE) CFLAGS=\"$MD5_OPT\" \\"               >> $MAKEFILE
+    echo "		MD5_ASM_OBJ= CC=$CC libmd5.a"             >> $MAKEFILE
+fi
+
+
 echo                                                              >> $MAKEFILE
diff --git a/auto/lib/md5/makefile.msvc b/auto/lib/md5/makefile.msvc
index 65ca4ab..7ba190d 100644
--- a/auto/lib/md5/makefile.msvc
+++ b/auto/lib/md5/makefile.msvc
@@ -1,5 +1,5 @@
 
-CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs $(CPU_OPT) -D L_ENDIAN
+CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT) -D L_ENDIAN
 
 !if "$(MD5_ASM)" == "YES"
 
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index 6d4b538..17df99f 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -10,7 +10,6 @@
             have=HAVE_PCRE . auto/have
             have=PCRE_STATIC . auto/have
             CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
-            #CORE_DEPS="$PCRE/pcre.lib $CORE_DEPS"
             CORE_LIBS="$CORE_LIBS pcre.lib"
             CORE_LINK="$CORE_LINK -libpath:$PCRE"
         ;;
@@ -24,7 +23,8 @@
 
         *)
             have=HAVE_PCRE . auto/have
-            CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
+            CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
+            LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
             CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
         ;;
 
diff --git a/auto/lib/pcre/make b/auto/lib/pcre/make
index c903687..cfb4da7 100644
--- a/auto/lib/pcre/make
+++ b/auto/lib/pcre/make
@@ -15,36 +15,27 @@
 case $PLATFORM in
 
     win32)
-        echo "$PCRE/pcre.lib:"                                    >> $MAKEFILE
-    ;;
-
-    *)
-        echo "$PCRE/.libs/libpcre.a:"                             >> $MAKEFILE
-    ;;
-
-esac
-
-
-case $PLATFORM in
-
-    win32)
         cp auto/lib/pcre/patch.pcre.in $PCRE
         cp auto/lib/pcre/patch.config.in $PCRE
         cp auto/lib/pcre/$makefile $PCRE
+
+        echo "$PCRE/pcre.lib:"                                    >> $MAKEFILE
         echo "	cd $PCRE"                                         >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile CPU_OPT=$CPU_OPT"           >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile CPU_OPT=$CPU_OPT LIBC=$LIBC">> $MAKEFILE
         echo "	cd ..\\..\\.."                                    >> $MAKEFILE
     ;;
 
     *)
-        # the patch allows to run the parallel make jobs
-        cp auto/lib/pcre/patch.Makefile.in $PCRE
+        PCRE_OPT="CFLAGS=\"$PCRE_OPT\""
 
+        echo "$PCRE/pcre.h:"                                      >> $MAKEFILE
         echo "	cd $PCRE \\"                                      >> $MAKEFILE
-        echo "	&& patch < patch.Makefile.in \\"                  >> $MAKEFILE
         echo "	&& CC=$CC $PCRE_OPT \\"                           >> $MAKEFILE
-        echo "	./configure --disable-shared \\"                  >> $MAKEFILE
-        echo "	&& \$(MAKE)"                                      >> $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
     ;;
 
 esac
diff --git a/auto/lib/pcre/makefile.msvc b/auto/lib/pcre/makefile.msvc
index 778607c..55a9a94 100644
--- a/auto/lib/pcre/makefile.msvc
+++ b/auto/lib/pcre/makefile.msvc
@@ -1,11 +1,11 @@
 
-CFLAGS =	-O2 -Ob1 -Oi -Gs -MT $(CPU_OPT)
+CFLAGS =	-O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT)
 PCREFLAGS =	-DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
 
 
 pcre.lib:
-	patch -o pcre.h pcre.in patch.pcre
-	patch -o config.h config.in patch.config
+	patch -o pcre.h pcre.in patch.pcre.in
+	patch -o config.h config.in patch.config.in
 
 	cl -Fedftables dftables.c
 
diff --git a/auto/lib/pcre/makefile.owc b/auto/lib/pcre/makefile.owc
index 7066215..07ef5ac 100644
--- a/auto/lib/pcre/makefile.owc
+++ b/auto/lib/pcre/makefile.owc
@@ -4,8 +4,8 @@
 
 
 pcre.lib:
-	patch -o pcre.h pcre.in patch.pcre
-	patch -o config.h config.in patch.config
+	patch -o pcre.h pcre.in patch.pcre.in
+	patch -o config.h config.in patch.config.in
 
 	wcl386 -zq -bt=nt -l=nt -fe=dftables dftables.c
 	dftables > chartables.c
diff --git a/auto/lib/pcre/patch.Makefile.in b/auto/lib/pcre/patch.Makefile.in
deleted file mode 100644
index 1b088ad..0000000
--- a/auto/lib/pcre/patch.Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in	Thu Mar 11 16:19:09 2004
-+++ Makefile.in	Thu Mar 11 16:21:16 2004
-@@ -96,7 +96,7 @@
- OBJ = maketables.@OBJEXT@ get.@OBJEXT@ study.@OBJEXT@ pcre.@OBJEXT@ @POSIX_OBJ@
- LOBJ = maketables.lo get.lo study.lo pcre.lo @POSIX_LOBJ@
- 
--all:            libpcre.la @POSIX_LIB@ pcretest@EXEEXT@ pcregrep@EXEEXT@ @ON_WINDOWS@ winshared
-+all:            libpcre.la
- 
- pcregrep@EXEEXT@: libpcre.la pcregrep.@OBJEXT@ @ON_WINDOWS@ winshared
- 		$(LINK) -o pcregrep@EXEEXT@ pcregrep.@OBJEXT@ libpcre.la
diff --git a/auto/lib/zlib/make b/auto/lib/zlib/make
index 50a6559..2c02ca7 100644
--- a/auto/lib/zlib/make
+++ b/auto/lib/zlib/make
@@ -25,14 +25,19 @@
 esac
 
 
+done=NO
+
+
 case $PLATFORM in
 
     win32)
 
         cp auto/lib/zlib/$makefile $ZLIB
         echo "	cd $ZLIB"                                         >> $MAKEFILE
-        echo "	\$(MAKE) -f $makefile CPU_OPT=$CPU_OPT"           >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile CPU_OPT=$CPU_OPT LIBC=$LIBC">> $MAKEFILE
         echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+
+        done=YES
     ;;
 
 
@@ -40,21 +45,22 @@
         if [ $ZLIB_ASM = pentiumpro ]; then
             echo "	cd $ZLIB \\"                              >> $MAKEFILE
             echo "	&& cp contrib/asm686/match.S . \\"        >> $MAKEFILE
-            echo "	&& CC=$CC $ZLIB_OPT ./configure \\"       >> $MAKEFILE
-            echo "	&& \$(MAKE) OBJA=match.o"                 >> $MAKEFILE
-        else
-            echo "	cd $ZLIB \\"                              >> $MAKEFILE
-            echo "	&& CC=$CC $ZLIB_OPT ./configure \\"       >> $MAKEFILE
-            echo "	&& \$(MAKE)"                              >> $MAKEFILE
+            echo "	&& CC=$CC CFLAGS=\"$ZLIB_OPT -DASMV\" \\" >> $MAKEFILE
+            echo "		./configure \\"                   >> $MAKEFILE
+            echo "	&& \$(MAKE) OBJA=match.o libz.a"          >> $MAKEFILE
+
+            done=YES
         fi
     ;;
 
-    *)
-        echo "	cd $ZLIB \\"                                      >> $MAKEFILE
-        echo "	&& CC=$CC $ZLIB_OPT ./configure \\"               >> $MAKEFILE
-        echo "	&& \$(MAKE)"                                      >> $MAKEFILE
-    ;;
-
 esac
 
+
+if [ $done = NO ]; then
+    echo "	cd $ZLIB \\"                                      >> $MAKEFILE
+    echo "	&& CC=$CC CFLAGS=\"$ZLIB_OPT\" ./configure \\"    >> $MAKEFILE
+    echo "	&& \$(MAKE) libz.a"                               >> $MAKEFILE
+fi
+
+
 echo                                                              >> $MAKEFILE
diff --git a/auto/lib/zlib/makefile.msvc b/auto/lib/zlib/makefile.msvc
index ebb11d3..fe3f4f3 100644
--- a/auto/lib/zlib/makefile.msvc
+++ b/auto/lib/zlib/makefile.msvc
@@ -1,5 +1,5 @@
 
-CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs $(CPU_OPT)
+CFLAGS = -nologo -c -O2 -Ob1 -Oi -Gs $(LIBC) $(CPU_OPT)
 
 zlib.lib:
 	cl $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c