OpenSSL building by MSVC and BCC from sources
diff --git a/auto/cc/bcc b/auto/cc/bcc
index 83b2d60..638b7dc 100644
--- a/auto/cc/bcc
+++ b/auto/cc/bcc
@@ -24,7 +24,7 @@
# __stdcall
#CPU_OPT="$CPU_OPT -ps"
# __fastcall
-CPU_OPT="$CPU_OPT -pr"
+#CPU_OPT="$CPU_OPT -pr"
CFLAGS="$CFLAGS $CPU_OPT"
diff --git a/auto/cc/msvc b/auto/cc/msvc
index f99fdd4..9db367a 100644
--- a/auto/cc/msvc
+++ b/auto/cc/msvc
@@ -51,12 +51,12 @@
;;
esac
-# __cdecl, use with OpenSSL, md5 asm, and sha1 asm
+# __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm
#CPU_OPT="$CPU_OPT -Gd"
# __stdcall
#CPU_OPT="$CPU_OPT -Gz"
# __fastcall
-CPU_OPT="$CPU_OPT -Gr"
+#CPU_OPT="$CPU_OPT -Gr"
CFLAGS="$CFLAGS $CPU_OPT"
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index 02e9e61..bf12d2e 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -6,6 +6,21 @@
CORE_INCS="$CORE_INCS $OPENSSL/include"
case "$CC" in
+
+ cl|bcc32)
+ have=NGX_OPENSSL . auto/have
+ have=NGX_SSL . auto/have
+
+ LINK_DEPS="$LINK_DEPS $OPENSSL/out32/ssleay32.lib"
+ CORE_LIBS="$CORE_LIBS $OPENSSL/out32/ssleay32.lib"
+
+ LINK_DEPS="$LINK_DEPS $OPENSSL/out32/libeay32.lib"
+ CORE_LIBS="$CORE_LIBS $OPENSSL/out32/libeay32.lib"
+
+ # libeay32.lib requires gdi32.lib and advapi32.lib
+ CORE_LIBS="$CORE_LIBS gdi32.lib advapi32.lib"
+ ;;
+
*)
have=NGX_OPENSSL . auto/have
have=NGX_SSL . auto/have
@@ -34,10 +49,8 @@
CORE_LIBS="$CORE_LIBS c:/openssl/ssleay32.lib"
CORE_LIBS="$CORE_LIBS c:/openssl/libeay32.lib"
- # libeay32.lib requires gdi32.lib
- CORE_LIBS="$CORE_LIBS gdi32.lib"
- # OpenSSL 0.8's libeay32.lib requires advapi32.lib
- CORE_LIBS="$CORE_LIBS advapi32.lib"
+ # libeay32.lib requires gdi32.lib and advapi32.lib
+ CORE_LIBS="$CORE_LIBS gdi32.lib advapi32.lib"
;;
*)
diff --git a/auto/lib/openssl/make b/auto/lib/openssl/make
index 7da0d8d..96b86be 100644
--- a/auto/lib/openssl/make
+++ b/auto/lib/openssl/make
@@ -13,7 +13,38 @@
*) NGX_OPENSSL_CONFIG="$NGX_OPENSSL_CONFIG threads" ;;
esac
-case "$NGX_PLATFORM" in
+case "$CC" in
+ cl)
+ cat << END >> $NGX_MAKEFILE
+
+$OPENSSL/out32/ssleay32.lib:
+ cd $OPENSSL
+ perl Configure VC-WIN32 no-shared
+ ms\\do_ms
+ \$(MAKE) -f ms\\nt.mak
+ cd ..\\..\\..
+
+END
+
+ ;;
+
+ bcc32)
+ cat << END >> $NGX_MAKEFILE
+
+`echo "$OPENSSL\\out32\\libeay32.lib: $OPENSSL\\out32\\ssleay32.lib" \
+ | sed -e "s/\//$ngx_regex_dirsep/g"`
+
+`echo "$OPENSSL\\out32\\ssleay32.lib:" | sed -e "s/\//$ngx_regex_dirsep/g"`
+ cd `echo "$OPENSSL" | sed -e "s/\//$ngx_regex_dirsep/g"`
+ perl Configure BC-32 no-shared
+ ms\\do_nasm
+ \$(MAKE) -f ms\\bcb.mak
+ cd ..\\..\\..
+
+END
+
+ ;;
+
*)
cat << END >> $NGX_MAKEFILE