diff --git a/auto/lib/conf b/auto/lib/conf
new file mode 100644
index 0000000..b5271a2
--- /dev/null
+++ b/auto/lib/conf
@@ -0,0 +1,24 @@
+
+if [ $PCRE != NO ]; then
+
+    CORE_INCS="$CORE_INCS -I $PCRE"
+
+    if [ "$PLATFORM" = "win32" ]; then
+        CFLAGS="$CFLAGS -D PCRE_STATIC"
+        CORE_LIBS="$CORE_LIBS pcre.lib"
+        CORE_LINK="$CORE_LINK -libpath:$PCRE"
+    else 
+        CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
+        CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
+    fi
+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/lib b/auto/lib/lib
deleted file mode 100644
index 8485679..0000000
--- a/auto/lib/lib
+++ /dev/null
@@ -1,48 +0,0 @@
-
-if [ $PCRE != NO ]; then
-
-    CORE_INCS="$CORE_INCS -I $PCRE"
-
-    if [ "$PLATFORM" = "win32" ]; then
-        CFLAGS="$CFLAGS -D PCRE_STATIC"
-        CORE_LIBS="$CORE_LIBS pcre.lib"
-        CORE_LINK="$CORE_LINK -libpath:$PCRE"
-    else 
-        CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
-        CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
-    fi
-fi
-
-
-if [ $MD5 != NO ]; then
-
-    CFLAGS="$CFLAGS -D HAVE_OPENSSL_MD5"
-    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
-
-elif [ $MD5_LIB != NO ]; then
-    CORE_LIBS="$CORE_LIBS $MD5_LIB"
-fi
-
-
-if [ $ZLIB != NO ]; 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
-
-elif [ $ZLIB_LIB != NO ]; then
-    CORE_LIBS="$CORE_LIBS $ZLIB_LIB"
-fi
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
new file mode 100644
index 0000000..e1755c1
--- /dev/null
+++ b/auto/lib/md5/conf
@@ -0,0 +1,67 @@
+
+if [ $MD5 != NO ]; then
+
+    if grep MD5_Init $MD5/md5.h >/dev/null; then
+        # OpenSSL md5
+        OPENSSL_MD5=YES
+        CFLAGS="$CFLAGS -D HAVE_OPENSSL_MD5"
+    else
+        # rsaref md5
+        OPENSSL_MD5=NO
+    fi
+
+    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
+
+else
+
+ngx_lib_inc="#include <sys/types.h>
+#include <md5.h>"
+
+        # Solaris 8/9
+        ngx_lib="rsaref md5"
+        ngx_lib_test="MD5_CTX md5; MD5Init(&md5)"
+        ngx_libs=-lmd5
+        . auto/lib/test
+
+
+    if [ $ngx_found = yes ]; then
+        CORE_LIBS="$CORE_LIBS $ngx_libs"
+        MD5=YES
+        ngx_found=no
+
+    else
+        # FreeBSD
+        ngx_lib="rsaref md"
+        ngx_lib_test="MD5_CTX md5; MD5Init(&md5)"
+        ngx_libs=-lmd
+        . auto/lib/test
+    fi
+
+
+    if [ $ngx_found = yes ]; then
+        CORE_LIBS="$CORE_LIBS $ngx_libs"
+        MD5=YES
+        ngx_found=no
+
+    else
+        ngx_lib="OpenSSL md5"
+        ngx_lib_test="MD5_CTX md5; MD5_Init(&md5)"
+        ngx_libs=-lmd5
+        . auto/lib/test
+    fi
+
+
+    if [ $ngx_found = yes ]; then
+        CFLAGS="$CFLAGS -D HAVE_OPENSSL_MD5"
+        CORE_LIBS="$CORE_LIBS $ngx_libs"
+        MD5=YES
+    fi
+fi
diff --git a/auto/lib/test b/auto/lib/test
new file mode 100644
index 0000000..6d3f7e3
--- /dev/null
+++ b/auto/lib/test
@@ -0,0 +1,23 @@
+
+echo "checking for $ngx_lib library"
+echo >> $NGX_ERR
+echo "checking for $ngx_lib library" >> $NGX_ERR
+
+ngx_found=no
+
+echo "$ngx_lib_inc" > $NGX_AUTOTEST.c
+echo "int main() { $ngx_lib_test; return 0; }" >> $NGX_AUTOTEST.c
+
+eval "$CC $cc_test_flags -o $NGX_AUTOTEST $NGX_AUTOTEST.c $ngx_libs \
+     >> $NGX_ERR 2>&1"
+
+if [ -x $NGX_AUTOTEST ]; then
+    echo " + $ngx_lib found"
+
+    ngx_found=yes
+
+else
+    echo " + $ngx_lib not found"
+fi
+
+rm $NGX_AUTOTEST*
diff --git a/auto/lib/zlib/conf b/auto/lib/zlib/conf
new file mode 100644
index 0000000..b8bbade
--- /dev/null
+++ b/auto/lib/zlib/conf
@@ -0,0 +1,28 @@
+
+if [ $ZLIB != NO ]; 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
+
+else
+
+    ngx_lib_inc="#include <zlib.h>"
+
+    ngx_lib="zlib"
+    ngx_lib_test="z_stream z; deflate(&z, Z_NO_FLUSH)"
+    ngx_libs=-lz
+    . auto/lib/test
+
+
+    if [ $ngx_found = yes ]; then
+        CORE_LIBS="$CORE_LIBS $ngx_libs"
+        ZLIB=YES
+    fi
+
+fi
