nginx-0.0.7-2004-07-25-22:34:14 import
diff --git a/auto/lib/conf b/auto/lib/conf
index 163193f..af2e9d7 100644
--- a/auto/lib/conf
+++ b/auto/lib/conf
@@ -7,6 +7,10 @@
     . auto/lib/md5/conf
 fi
 
+if [ $USE_OPENSSL = YES ]; then
+    . auto/lib/openssl/conf
+fi
+
 if [ $USE_ZLIB = YES ]; then
     . auto/lib/zlib/conf
 fi
diff --git a/auto/lib/make b/auto/lib/make
index 2c2d232..377fc7a 100644
--- a/auto/lib/make
+++ b/auto/lib/make
@@ -7,6 +7,10 @@
     . auto/lib/md5/make
 fi
 
+if [ $OPENSSL != NONE -a $OPENSSL != NO -a $OPENSSL != YES ]; then
+    . auto/lib/openssl/make
+fi
+
 if [ $ZLIB != NONE -a $ZLIB != NO -a $ZLIB != YES ]; then
     . auto/lib/zlib/make
 fi
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
new file mode 100644
index 0000000..28dbf66
--- /dev/null
+++ b/auto/lib/openssl/conf
@@ -0,0 +1,40 @@
+
+if [ $OPENSSL != NONE ]; then
+    CORE_INCS="$CORE_INCS $OPENSSL/include"
+    CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
+    CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
+
+    case "$CC" in
+        *)
+            have=NGX_OPENSSL . auto/have
+            LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
+            CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
+        ;;
+
+    esac
+
+else
+
+    if [ $PLATFORM != win32 ]; then
+            OPENSSL=NO
+            ngx_lib_cflags=
+
+            ngx_lib_inc="#include <openssl/ssl.h>"
+            ngx_lib="OpenSSL library"
+            ngx_lib_test="SSL_library_init()"
+            ngx_libs="-lssl -lcrypto"
+            . auto/lib/test
+
+
+        if [ $ngx_found = yes ]; then
+            have=NGX_OPENSSL . auto/have
+            CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
+            CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
+            CORE_LIBS="$CORE_LIBS $ngx_libs"
+            OPENSSL=YES
+            ngx_found=no
+        fi
+
+    fi
+
+fi
diff --git a/auto/lib/openssl/make b/auto/lib/openssl/make
new file mode 100644
index 0000000..8631ff3
--- /dev/null
+++ b/auto/lib/openssl/make
@@ -0,0 +1,13 @@
+
+case $PLATFORM in
+    *)
+        echo "$OPENSSL/libssl.a:"                                 >> $MAKEFILE
+        echo "	cd $OPENSSL \\"                                   >> $MAKEFILE
+        echo "	&& CC=\"\$(CC)\" \\"                              >> $MAKEFILE
+        echo "	./config threads no-shared \\"                    >> $MAKEFILE
+        echo "	&& \$(MAKE)"                                      >> $MAKEFILE
+    ;;
+
+esac
+
+echo                                                              >> $MAKEFILE
diff --git a/auto/modules b/auto/modules
index 6a5becd..4dc9e1e 100644
--- a/auto/modules
+++ b/auto/modules
@@ -101,16 +101,17 @@
 fi
 
 if [ $HTTP_SSL = YES ]; then
+    USE_OPENSSL=YES
+    have=NGX_HTTP_SSL . auto/have
     HTTP_MODULES="$HTTP_MODULES $HTTP_SSL_MODULE"
     HTTP_DEPS="$HTTP_DEPS $HTTP_SSL_DEPS"
     HTTP_SRCS="$HTTP_SRCS $HTTP_SSL_SRCS"
 
     # STUB: move to auto/libs/ssl after md5
-    have=NGX_HTTP_SSL . auto/have
-    have=NGX_OPENSSL . auto/have
-    CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
-    CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
-    CORE_LIBS="$CORE_LIBS -lssl -lcrypto"
+    #have=NGX_OPENSSL . auto/have
+    #CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
+    #CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
+    #CORE_LIBS="$CORE_LIBS -lssl -lcrypto"
 fi
 
 if [ $HTTP_PROXY = YES ]; then
diff --git a/auto/options b/auto/options
index c506062..5aea141 100644
--- a/auto/options
+++ b/auto/options
@@ -42,6 +42,9 @@
 PCRE=NONE
 PCRE_OPT=
 
+USE_OPENSSL=NO
+OPENSSL=NONE
+
 USE_MD5=NO
 MD5=NONE
 MD5_OPT=
@@ -103,6 +106,8 @@
         --with-pcre=*)                   PCRE="$value"              ;;
         --with-pcre-opt=*)               PCRE_OPT="$value"          ;;
 
+        --with-openssl=*)                OPENSSL="$value"           ;;
+
         --with-md5=*)                    MD5="$value"               ;;
         --with-md5-opt=*)                MD5_OPT="$value"           ;;
         --with-md5-asm)                  MD5_ASM=YES                ;;
diff --git a/auto/summary b/auto/summary
index 9769180..482f792 100644
--- a/auto/summary
+++ b/auto/summary
@@ -22,6 +22,13 @@
     *)     echo " + using md5 library: $MD5" ;;
 esac
 
+case $OPENSSL in
+    YES)   echo " + using system OpenSSL library" ;;
+    NONE)  echo " + OpenSSL library is not used" ;;
+    NO)    echo " + OpenSSL library is not found" ;;
+    *)     echo " + using OpenSSL library: $OPENSSL" ;;
+esac
+
 case $ZLIB in
     YES)   echo " + using system zlib library" ;;
     NONE)  echo " + zlib library is not used" ;;