]> git.kaiwu.me - nginx.git/commitdiff
OpenSSL building by MSVC and BCC from sources
authorIgor Sysoev <igor@sysoev.ru>
Wed, 15 Apr 2009 19:46:24 +0000 (19:46 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Wed, 15 Apr 2009 19:46:24 +0000 (19:46 +0000)
auto/cc/bcc
auto/cc/msvc
auto/lib/openssl/conf
auto/lib/openssl/make

index 83b2d60dd4247f4732769b6f6ac0a81904dba2b0..638b7dc2f238b15a2802daeb0c843dbf2e0bbb89 100644 (file)
@@ -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"
 
index f99fdd40e691cff13775d379485dc6eb581df455..9db367a28046a2d40d66d777ec3a04f6f6bc522b 100644 (file)
@@ -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"
index 02e9e610bcd2302dce4ebe6b90d90d9004f5b1e7..bf12d2eb067329f9a0071667e96d57a62cff5ac1 100644 (file)
@@ -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"
         ;;
 
         *)
index 7da0d8dc1689f782d24591a54256e3c1cadc9a46..96b86befaaf41882a23661f3bb6e001dba46c0df 100644 (file)
@@ -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