nginx-0.0.2-2004-03-09-22:47:07 import
diff --git a/auto/lib/make b/auto/lib/make
index 8bb32ca3..66568e6 100644
--- a/auto/lib/make
+++ b/auto/lib/make
@@ -1,18 +1,12 @@
 
-if [ "$PLATFORM" != "win32" ]; then
+if [ $MD5 != NO ]; then
+    . auto/lib/md5/make
+fi
 
-    if [ $PCRE != NO ]; then
-        . auto/lib/pcre/make
-    fi
+if [ $ZLIB != NO ]; then
+    . auto/lib/zlib/make
+fi
 
-
-    if [ $MD5 != NO ]; then
-        . auto/lib/md5/make
-    fi
-
-
-    if [ $ZLIB != NO ]; then
-        . auto/lib/zlib/make
-    fi
-
+if [ $PCRE != NO ]; then
+    . auto/lib/pcre/make
 fi
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index 06006e4..3c78783 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -12,13 +12,25 @@
 
     CORE_INCS="$CORE_INCS -I $MD5"
 
-    if [ "$PLATFORM" = "win32" ]; then
-        CORE_LIBS="$CORE_LIBS md5.lib"
-        CORE_LINK="$CORE_LINK -libpath:$MD5"
-    else 
-        LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
-        CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
-    fi
+    case $CC in
+
+        cl)
+            LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
+            CORE_LIBS="$CORE_LIBS md5.lib"
+            CORE_LINK="$CORE_LINK -libpath:$MD5"
+        ;;
+
+        wcl386)
+            LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
+            CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
+        ;;
+
+        *)
+            LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
+            CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
+        ;;
+
+    esac
 
 else
 
diff --git a/auto/lib/md5/make b/auto/lib/md5/make
index 0b4d927..43d35bf 100644
--- a/auto/lib/md5/make
+++ b/auto/lib/md5/make
@@ -1,24 +1,56 @@
 
-echo "$MD5/libmd5.a:"                                    >> $MAKEFILE
+case $CC in
+
+    cl)
+        makefile=makefile.msvc
+    ;;
+
+    wcl386)
+        makefile=makefile.owc
+    ;;
+
+esac
+
 
 case $PLATFORM in
 
+    win32)
+        echo "$MD5/md5.lib:"                                      >> $MAKEFILE
+    ;;
+
+    *)
+        echo "$MD5/libmd5.a:"                                     >> $MAKEFILE
+    ;;
+
+esac
+
+
+case $PLATFORM in
+
+    win32)
+
+        cp auto/lib/md5/$makefile $MD5
+        echo "	cd $MD5"                                          >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile OWC_OPT=$OWC_OPT"           >> $MAKEFILE
+        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+    ;;
+
     SunOS:*:i386)
-        echo "	cd $MD5 && \$(MAKE) x86-solaris"         >> $MAKEFILE
+        echo "	cd $MD5 && \$(MAKE) x86-solaris"                  >> $MAKEFILE
     ;;
 
     *:i386)
-        echo "	cd $MD5 && \$(MAKE) x86-elf"             >> $MAKEFILE
+        echo "	cd $MD5 && \$(MAKE) x86-elf"                      >> $MAKEFILE
     ;;
 
     *)
         if [ $CC = gcc ]; then
-            echo "	cd $MD5 && \$(MAKE) gcc"         >> $MAKEFILE
+            echo "	cd $MD5 && \$(MAKE) gcc"                  >> $MAKEFILE
         else
-            echo "	cd $MD5 && \$(MAKE) cc"          >> $MAKEFILE
+            echo "	cd $MD5 && \$(MAKE) cc"                   >> $MAKEFILE
         fi
     ;;
 
 esac
 
-echo                                                     >> $MAKEFILE
+echo                                                              >> $MAKEFILE
diff --git a/auto/lib/md5/makefile.msvc b/auto/lib/md5/makefile.msvc
index a45fc52..3dbda09 100644
--- a/auto/lib/md5/makefile.msvc
+++ b/auto/lib/md5/makefile.msvc
@@ -1,6 +1,6 @@
 
-all:
-	cl -nologo -c -MT -O2 -Ob1 -Oi -Gs -D MD5_ASM -D L_ENDIAN	\
-		md5_dgst.c md5_one.c
+CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs -D MD5_ASM -D L_ENDIAN
 
-	link -lib -out:md5.lib md5_dgst.obj md5_one.obj asm/m-win32.obj
+md5.lib:
+	cl $(CFLAGS) md5_dgst.c
+	link -lib -out:md5.lib md5_dgst.obj asm/m-win32.obj
diff --git a/auto/lib/md5/makefile.owc b/auto/lib/md5/makefile.owc
new file mode 100644
index 0000000..f320940
--- /dev/null
+++ b/auto/lib/md5/makefile.owc
@@ -0,0 +1,12 @@
+
+CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s $(OWC_OPT)
+
+md5.lib:
+	wcl386 $(CFLAGS) -bm -dL_ENDIAN md5_dgst.c
+	wlib -n md5.lib md5_dgst.obj
+
+#md5.lib:
+asm:
+	wcl386 $(CFLAGS) -bm -dMD5_ASM -dL_ENDIAN md5_dgst.c
+	wcl386 $(CFLAGS) asm\m-win32.asm
+	wlib -n md5.lib md5_dgst.obj m-win32.obj
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index 436bee2..6d4b538 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -4,37 +4,54 @@
     CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
     CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
 
-    if [ "$PLATFORM" = "win32" ]; then
-        have=HAVE_PCRE . auto/have
-        have=PCRE_STATIC . auto/have
-        CORE_LIBS="$CORE_LIBS pcre.lib"
-        CORE_LINK="$CORE_LINK -libpath:$PCRE"
-    else
-        have=HAVE_PCRE . auto/have
-        CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
-        CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
-    fi
+    case $CC in
+
+        cl)
+            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"
+        ;;
+
+        wcl386)
+            have=HAVE_PCRE . auto/have
+            have=PCRE_STATIC . auto/have
+            CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
+            CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
+        ;;
+
+        *)
+            have=HAVE_PCRE . auto/have
+            CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
+            CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
+        ;;
+
+    esac
 
 else
 
-    ngx_lib_inc="#include <pcre.h>"
+    if [ $PLATFORM != win32 ]; then
+        ngx_lib_inc="#include <pcre.h>"
 
-    ngx_lib="PCRE"
-    ngx_lib_test="pcre *re; pcre_compile(re, 0, NULL, 0, NULL)"
-    ngx_libs=-lpcre
-    . auto/lib/test
+        ngx_lib="PCRE"
+        ngx_lib_test="pcre *re; pcre_compile(re, 0, NULL, 0, NULL)"
+        ngx_libs=-lpcre
+        . auto/lib/test
 
 
-    if [ $ngx_found = yes ]; then
-        have=HAVE_PCRE . auto/have
+        if [ $ngx_found = yes ]; then
+            have=HAVE_PCRE . auto/have
 
-        CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
-        CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
-        CORE_LIBS="$CORE_LIBS $ngx_libs"
+            CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
+            CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
+            CORE_LIBS="$CORE_LIBS $ngx_libs"
 
-        PCRE=YES
-    else
-        PCRE=NO
+            PCRE=YES
+        else
+            PCRE=NO
+        fi
     fi
 
 fi
diff --git a/auto/lib/pcre/make b/auto/lib/pcre/make
index 8366686..6ea086d 100644
--- a/auto/lib/pcre/make
+++ b/auto/lib/pcre/make
@@ -1,7 +1,47 @@
 
-echo "$PCRE/.libs/libpcre.a:"                            >> $MAKEFILE
-echo "	cd $PCRE \\"                                     >> $MAKEFILE
-echo "	&& ./configure --disable-shared \\"              >> $MAKEFILE
-echo "	&& \$(MAKE)"                                     >> $MAKEFILE
-echo                                                     >> $MAKEFILE
+case $CC in
 
+    cl)
+        makefile=makefile.msvc
+    ;;
+
+    wcl386)
+        makefile=makefile.owc
+    ;;
+
+esac
+
+
+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 $PCRE
+        cp auto/lib/pcre/patch.config $PCRE
+        cp auto/lib/pcre/$makefile $PCRE
+        echo "	cd $PCRE"                                         >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile OWC_OPT=$OWC_OPT"           >> $MAKEFILE
+        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+    ;;
+
+    *)
+        echo "	cd $PCRE \\"                                      >> $MAKEFILE
+        echo "	&& ./configure --disable-shared \\"               >> $MAKEFILE
+        echo "	&& \$(MAKE)"                                      >> $MAKEFILE
+    ;;
+
+esac
+
+echo                                                              >> $MAKEFILE
diff --git a/auto/lib/pcre/makefile.msvc b/auto/lib/pcre/makefile.msvc
index e5c2aec..0eeb310 100644
--- a/auto/lib/pcre/makefile.msvc
+++ b/auto/lib/pcre/makefile.msvc
@@ -1,18 +1,18 @@
 
-CC =		cl
 CFLAGS =	-O2 -Ob1 -Oi -Gs -MT
-LINK =		link
-
 PCREFLAGS =	-DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
 
 
-all:
-	$(CC) -Fedftables dftables.c
+pcre.lib:
+	patch -o pcre.h pcre.in patch.pcre
+	patch -o config.h config.in patch.config
+
+	cl -Fedftables dftables.c
 
 	dftables > chartables.c
 
-	$(CC) -nologo -c $(CFLAGS) $(PCREFLAGS)				\
+	cl -nologo -c $(CFLAGS) $(PCREFLAGS)				\
 		maketables.c get.c study.c pcre.c
 
-	$(LINK) -lib -out:pcre.lib -verbose:lib				\
+	link -lib -out:pcre.lib -verbose:lib				\
 		maketables.obj get.obj study.obj pcre.obj
diff --git a/auto/lib/pcre/makefile.owc b/auto/lib/pcre/makefile.owc
new file mode 100644
index 0000000..f4244a6
--- /dev/null
+++ b/auto/lib/pcre/makefile.owc
@@ -0,0 +1,14 @@
+
+CFLAGS =	-c -zq -bt=nt -ot -op -oi -oe -s -bm $(OWC_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
+
+	wcl386 -zq -bt=nt -l=nt -fe=dftables dftables.c
+	dftables > chartables.c
+
+	wcl386 $(CFLAGS) $(PCREFLAGS) maketables.c get.c study.c pcre.c
+	wlib -n pcre.lib maketables.obj get.obj study.obj pcre.obj
diff --git a/auto/lib/pcre/patch.config b/auto/lib/pcre/patch.config
new file mode 100644
index 0000000..f2c48c2
--- /dev/null
+++ b/auto/lib/pcre/patch.config
@@ -0,0 +1,11 @@
+--- config.in.orig	Thu Aug 21 14:43:07 2003
++++ config.in		Sun Mar  7 02:37:24 2004
+@@ -28,7 +28,7 @@
+ found. */
+ 
+ #define HAVE_STRERROR 0
+-#define HAVE_MEMMOVE  0
++#define HAVE_MEMMOVE 1
+ 
+ /* There are some non-Unix systems that don't even have bcopy(). If this macro
+ is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
diff --git a/auto/lib/pcre/patch.pcre b/auto/lib/pcre/patch.pcre
new file mode 100644
index 0000000..3406548
--- /dev/null
+++ b/auto/lib/pcre/patch.pcre
@@ -0,0 +1,15 @@
+--- pcre.in.orig	Thu Aug 21 14:43:07 2003
++++ pcre.in		Sun Mar  7 02:10:11 2004
+@@ -10,9 +10,9 @@
+ /* The file pcre.h is build by "configure". Do not edit it; instead
+ make changes to pcre.in. */
+ 
+-#define PCRE_MAJOR          @PCRE_MAJOR@
+-#define PCRE_MINOR          @PCRE_MINOR@
+-#define PCRE_DATE           @PCRE_DATE@
++#define PCRE_MAJOR          4
++#define PCRE_MINOR          4
++#define PCRE_DATE           21-August-2003
+ 
+ /* Win32 uses DLL by default */
+ 
diff --git a/auto/lib/zlib/conf b/auto/lib/zlib/conf
index 60fd8d8..a779b21 100644
--- a/auto/lib/zlib/conf
+++ b/auto/lib/zlib/conf
@@ -2,13 +2,25 @@
 if [ $ZLIB != NONE ]; then
     CORE_INCS="$CORE_INCS -I $ZLIB"
 
-    if [ "$PLATFORM" = "win32" ]; then
-        CORE_LIBS="$CORE_LIBS zlib.lib"
-        CORE_LINK="$CORE_LINK -libpath:$ZLIB"
-    else
-        LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
-        CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
-    fi
+    case $CC in
+
+        cl)
+            LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
+            CORE_LIBS="$CORE_LIBS zlib.lib"
+            CORE_LINK="$CORE_LINK -libpath:$ZLIB"
+        ;;
+
+        wcl386)
+            LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
+            CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
+        ;;
+
+        *)
+            LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
+            CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
+        ;;
+
+    esac
 
 else
 
diff --git a/auto/lib/zlib/make b/auto/lib/zlib/make
index 78022c3..05b2e86 100644
--- a/auto/lib/zlib/make
+++ b/auto/lib/zlib/make
@@ -1,19 +1,52 @@
 
-echo "$ZLIB/libz.a:"                                     >> $MAKEFILE
+case $CC in
 
-case $PLATFORM in
-
-    *:i386)
-        echo "	cd $ZLIB \\"                             >> $MAKEFILE
-        echo "	&& cp contrib/asm686/match.S . \\"       >> $MAKEFILE
-        echo "	&& CFLAGS=\"-O3 -DASMV\" ./configure \\" >> $MAKEFILE
-        echo "	&& \$(MAKE) OBJA=match.o"                >> $MAKEFILE
+    cl)
+        makefile=makefile.msvc
     ;;
 
-    *)
-        echo "	cd $ZLIB && ./configure && \$(MAKE)"     >> $MAKEFILE
+    wcl386)
+        makefile=makefile.owc
     ;;
 
 esac
 
-echo                                                     >> $MAKEFILE
+
+case $PLATFORM in
+
+    win32)
+        echo "$ZLIB/zlib.lib:"                                    >> $MAKEFILE
+    ;;
+
+    *)
+        echo "$ZLIB/libz.a:"                                      >> $MAKEFILE
+    ;;
+
+esac
+
+
+case $PLATFORM in
+
+    win32)
+
+        cp auto/lib/zlib/$makefile $ZLIB
+        echo "	cd $ZLIB"                                         >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile OWC_OPT=$OWC_OPT"           >> $MAKEFILE
+        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+    ;;
+
+
+    *:i386)
+        echo "	cd $ZLIB \\"                                      >> $MAKEFILE
+        echo "	&& cp contrib/asm686/match.S . \\"                >> $MAKEFILE
+        echo "	&& CFLAGS=\"-O3 -DASMV\" ./configure \\"          >> $MAKEFILE
+        echo "	&& \$(MAKE) OBJA=match.o"                         >> $MAKEFILE
+    ;;
+
+    *)
+        echo "	cd $ZLIB && ./configure && \$(MAKE)"              >> $MAKEFILE
+    ;;
+
+esac
+
+echo                                                              >> $MAKEFILE
diff --git a/auto/lib/zlib/makefile.msvc b/auto/lib/zlib/makefile.msvc
new file mode 100644
index 0000000..69f0c18
--- /dev/null
+++ b/auto/lib/zlib/makefile.msvc
@@ -0,0 +1,8 @@
+
+CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs
+
+zlib.lib:
+	cl $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c
+
+	link -lib -out:zlib.lib adler32.obj crc32.obj deflate.obj \
+		trees.obj zutil.obj
diff --git a/auto/lib/zlib/makefile.owc b/auto/lib/zlib/makefile.owc
new file mode 100644
index 0000000..3fa0260
--- /dev/null
+++ b/auto/lib/zlib/makefile.owc
@@ -0,0 +1,6 @@
+
+CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s -bm $(OWC_OPT)
+
+zlib.lib:
+	wcl386 $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c
+	wlib -n zlib.lib adler32.obj crc32.obj deflate.obj trees.obj zutil.obj