summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2009-05-14 15:46:34 +0000
committerIgor Sysoev <igor@sysoev.ru>2009-05-14 15:46:34 +0000
commit2d252980eddcf8b77eed217704100e5d86c51430 (patch)
tree083ba5ad20191a5e5389e38bf0d3d7f8f06c7d41
parentbfbded71fce2540af08e6dd082e7013dbf02c5b8 (diff)
downloadnginx-2d252980eddcf8b77eed217704100e5d86c51430.tar.gz
nginx-2d252980eddcf8b77eed217704100e5d86c51430.tar.bz2
fix building OpenSSL on Win32
-rw-r--r--auto/lib/openssl/conf14
-rw-r--r--auto/lib/openssl/make34
-rw-r--r--auto/lib/openssl/makefile.bcc10
-rw-r--r--auto/lib/openssl/makefile.msvc14
4 files changed, 51 insertions, 21 deletions
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index ba016481d..f50af31cf 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -3,19 +3,19 @@
if [ $OPENSSL != NONE ]; then
- CORE_INCS="$CORE_INCS $OPENSSL/include"
case "$CC" in
- cl|bcc32)
+ 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"
+ CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
- LINK_DEPS="$LINK_DEPS $OPENSSL/out32/libeay32.lib"
- CORE_LIBS="$CORE_LIBS $OPENSSL/out32/libeay32.lib"
+ CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
+ CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h"
+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
+ CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
# libeay32.lib requires gdi32.lib
CORE_LIBS="$CORE_LIBS gdi32.lib"
@@ -24,6 +24,8 @@ if [ $OPENSSL != NONE ]; then
*)
have=NGX_OPENSSL . auto/have
have=NGX_SSL . auto/have
+
+ CORE_INCS="$CORE_INCS $OPENSSL/include"
LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
;;
diff --git a/auto/lib/openssl/make b/auto/lib/openssl/make
index b2150c0a2..bfe9a3f31 100644
--- a/auto/lib/openssl/make
+++ b/auto/lib/openssl/make
@@ -3,7 +3,7 @@
if test -n "$OPENSSL_OPT"; then
- NGX_OPENSSL_CONFIG="./Configure \"$OPENSSL_OPT\""
+ NGX_OPENSSL_CONFIG="./Configure $OPENSSL_OPT"
else
NGX_OPENSSL_CONFIG="./config"
fi
@@ -14,29 +14,37 @@ case $USE_THREADS in
esac
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 \$(MAKEDIR)
+$OPENSSL/openssl/include/openssl/ssl.h: $NGX_MAKEFILE
+ \$(MAKE) -f auto/lib/openssl/makefile.msvc \
+ OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"
END
;;
- bcc32)
+ cl | bcc32)
+
+ ngx_opt=`echo "-DOPENSSL=\"$OPENSSL\" -DOPENSSL_OPT=\"$OPENSSL_OPT\"" \
+ | sed -e "s/\//$ngx_regex_dirsep/g"`
+
cat << END >> $NGX_MAKEFILE
-`echo "$OPENSSL\\out32\\libeay32.lib: $OPENSSL\\out32\\ssleay32.lib" \
+`echo "$OPENSSL\\openssl\\lib\\libeay32.lib: \
+ $OPENSSL\\openssl\\include\\openssl\\ssl.h" \
| sed -e "s/\//$ngx_regex_dirsep/g"`
-`echo "$OPENSSL\\out32\\ssleay32.lib:" | sed -e "s/\//$ngx_regex_dirsep/g"`
- \$(MAKE) -f auto/lib/openssl/$ngx_makefile \
- -DOPENSSL=`echo \"$OPENSSL\" | sed -e "s/\//$ngx_regex_dirsep/g"`
+`echo "$OPENSSL\\openssl\\lib\\ssleay32.lib: \
+ $OPENSSL\\openssl\\include\\openssl\\ssl.h" \
+ | sed -e "s/\//$ngx_regex_dirsep/g"`
+
+`echo "$OPENSSL\\openssl\\include\\openssl\\ssl.h: $NGX_MAKEFILE" \
+ | sed -e "s/\//$ngx_regex_dirsep/g"`
+ \$(MAKE) -f auto/lib/openssl/makefile.bcc $ngx_opt
END
@@ -45,7 +53,7 @@ END
*)
cat << END >> $NGX_MAKEFILE
-$OPENSSL/libssl.a:
+$OPENSSL/libssl.a: $NGX_MAKEFILE
cd $OPENSSL \\
&& \$(MAKE) clean \\
&& $NGX_OPENSSL_CONFIG no-shared \\
diff --git a/auto/lib/openssl/makefile.bcc b/auto/lib/openssl/makefile.bcc
index 3534b0ef8..679e7fe4a 100644
--- a/auto/lib/openssl/makefile.bcc
+++ b/auto/lib/openssl/makefile.bcc
@@ -2,11 +2,17 @@
# Copyright (C) Igor Sysoev
-ssleay32.lib:
+all:
cd $(OPENSSL)
- perl Configure BC-32 no-shared
+ perl Configure BC-32 no-shared --prefix=openssl -DNO_SYS_TYPES_H \
+ $(OPENSSL_OPT)
ms\do_nasm
$(MAKE) -f ms\bcb.mak
+ $(MAKE) -f ms\bcb.mak install
+
+ # Borland's make does not expand "[ch]" in
+ # copy "inc32\openssl\*.[ch]" "openssl\include\openssl"
+ copy inc32\openssl\*.h openssl\include\openssl
diff --git a/auto/lib/openssl/makefile.msvc b/auto/lib/openssl/makefile.msvc
new file mode 100644
index 000000000..0e45c487f
--- /dev/null
+++ b/auto/lib/openssl/makefile.msvc
@@ -0,0 +1,14 @@
+
+# Copyright (C) Igor Sysoev
+
+
+all:
+ cd $(OPENSSL)
+
+ perl Configure VC-WIN32 no-shared --prefix=openssl -DNO_SYS_TYPES_H \
+ $(OPENSSL_OPT)
+
+ ms\do_ms
+
+ $(MAKE) -f ms\nt.mak
+ $(MAKE) -f ms\nt.mak install