nginx-0.0.2-2004-03-14-23:46:25 import
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index 3c78783..57662f7 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -25,6 +25,17 @@
             CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
         ;;
 
+        *icc)
+            LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
+
+            # to allow -ipo optimization we link with the *.o but not library
+            CORE_LIBS="$CORE_LIBS $MD5/md5_dgst.o"
+
+            if [ $MD5_ASM = YES ]; then
+                CORE_LIBS="$CORE_LIBS $MD5/asm/mx86-elf.o"
+            fi
+        ;;
+
         *)
             LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
             CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index 17df99f..fe82130 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -9,7 +9,8 @@
         cl)
             have=HAVE_PCRE . auto/have
             have=PCRE_STATIC . auto/have
-            CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
+            CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
+            LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
             CORE_LIBS="$CORE_LIBS pcre.lib"
             CORE_LINK="$CORE_LINK -libpath:$PCRE"
         ;;
@@ -17,10 +18,24 @@
         wcl386)
             have=HAVE_PCRE . auto/have
             have=PCRE_STATIC . auto/have
-            CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
+            CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
+            LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib"
             CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
         ;;
 
+        *icc)
+            have=HAVE_PCRE . auto/have
+            CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
+
+            LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a"
+
+            # to allow -ipo optimization we link with the *.o but not library
+            CORE_LIBS="$CORE_LIBS $PCRE/maketables.o"
+            CORE_LIBS="$CORE_LIBS $PCRE/get.o"
+            CORE_LIBS="$CORE_LIBS $PCRE/study.o"
+            CORE_LIBS="$CORE_LIBS $PCRE/pcre.o"
+        ;;
+
         *)
             have=HAVE_PCRE . auto/have
             CORE_DEPS="$CORE_DEPS $PCRE/pcre.h"
diff --git a/auto/lib/pcre/make b/auto/lib/pcre/make
index cfb4da7..a4f1402 100644
--- a/auto/lib/pcre/make
+++ b/auto/lib/pcre/make
@@ -19,7 +19,12 @@
         cp auto/lib/pcre/patch.config.in $PCRE
         cp auto/lib/pcre/$makefile $PCRE
 
-        echo "$PCRE/pcre.lib:"                                    >> $MAKEFILE
+        echo "$PCRE/pcre.h:"                                      >> $MAKEFILE
+        echo "	cd $PCRE"                                         >> $MAKEFILE
+        echo "	\$(MAKE) -f $makefile pcre.h"                     >> $MAKEFILE
+        echo "	cd ..\\..\\.."                                    >> $MAKEFILE
+        echo                                                      >> $MAKEFILE
+        echo "$PCRE/pcre.lib:	$PCRE/pcre.h"                     >> $MAKEFILE
         echo "	cd $PCRE"                                         >> $MAKEFILE
         echo "	\$(MAKE) -f $makefile CPU_OPT=$CPU_OPT LIBC=$LIBC">> $MAKEFILE
         echo "	cd ..\\..\\.."                                    >> $MAKEFILE
diff --git a/auto/lib/pcre/makefile.msvc b/auto/lib/pcre/makefile.msvc
index 55a9a94..3192124 100644
--- a/auto/lib/pcre/makefile.msvc
+++ b/auto/lib/pcre/makefile.msvc
@@ -3,10 +3,7 @@
 PCREFLAGS =	-DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
 
 
-pcre.lib:
-	patch -o pcre.h pcre.in patch.pcre.in
-	patch -o config.h config.in patch.config.in
-
+pcre.lib:	pcre.h
 	cl -Fedftables dftables.c
 
 	dftables > chartables.c
@@ -16,3 +13,7 @@
 
 	link -lib -out:pcre.lib -verbose:lib				\
 		maketables.obj get.obj study.obj pcre.obj
+
+pcre.h:
+	patch -o pcre.h pcre.in patch.pcre.in
+	patch -o config.h config.in patch.config.in
diff --git a/auto/lib/pcre/makefile.owc b/auto/lib/pcre/makefile.owc
index 07ef5ac..41194f5 100644
--- a/auto/lib/pcre/makefile.owc
+++ b/auto/lib/pcre/makefile.owc
@@ -3,12 +3,14 @@
 PCREFLAGS =	-DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
 
 
-pcre.lib:
-	patch -o pcre.h pcre.in patch.pcre.in
-	patch -o config.h config.in patch.config.in
-
+pcre.lib:	pcre.h
 	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
+
+
+pcre.h:
+	patch -o pcre.h pcre.in patch.pcre.in
+	patch -o config.h config.in patch.config.in
diff --git a/auto/lib/zlib/conf b/auto/lib/zlib/conf
index a779b21..7542312 100644
--- a/auto/lib/zlib/conf
+++ b/auto/lib/zlib/conf
@@ -15,6 +15,21 @@
             CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
         ;;
 
+        *icc)
+            LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
+
+            # to allow -ipo optimization we link with the *.o but not library
+            CORE_LIBS="$CORE_LIBS $ZLIB/adler32.o"
+            CORE_LIBS="$CORE_LIBS $ZLIB/crc32.o"
+            CORE_LIBS="$CORE_LIBS $ZLIB/deflate.o"
+            CORE_LIBS="$CORE_LIBS $ZLIB/trees.o"
+            CORE_LIBS="$CORE_LIBS $ZLIB/zutil.o"
+
+            if [ $ZLIB_ASM != NO ]; then
+                CORE_LIBS="$CORE_LIBS $ZLIB/match.o"
+            fi
+        ;;
+
         *)
             LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
             CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"