# HG changeset patch # User Igor Sysoev # Date 1239824784 0 # Node ID 41f9934570211588d74e41c12048bb002dd10a61 # Parent 6b87e875e87a08d8abc3792cd535b95e073f514a OpenSSL building by MSVC and BCC from sources diff --git a/auto/cc/bcc b/auto/cc/bcc --- a/auto/cc/bcc +++ b/auto/cc/bcc @@ -24,7 +24,7 @@ esac # __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 --- a/auto/cc/msvc +++ b/auto/cc/msvc @@ -51,12 +51,12 @@ case $CPU in ;; 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 --- a/auto/lib/openssl/conf +++ b/auto/lib/openssl/conf @@ -6,6 +6,21 @@ if [ $OPENSSL != NONE ]; then 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 @@ else 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 --- a/auto/lib/openssl/make +++ b/auto/lib/openssl/make @@ -13,7 +13,38 @@ case $USE_THREADS in *) 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