fix building OpenSSL on Win32

This commit is contained in:
Igor Sysoev 2009-05-14 15:46:34 +00:00
parent bfbded71fc
commit 2d252980ed
4 changed files with 51 additions and 21 deletions

View File

@ -3,7 +3,6 @@
if [ $OPENSSL != NONE ]; then if [ $OPENSSL != NONE ]; then
CORE_INCS="$CORE_INCS $OPENSSL/include"
case "$CC" in case "$CC" in
@ -11,11 +10,12 @@ if [ $OPENSSL != NONE ]; then
have=NGX_OPENSSL . auto/have have=NGX_OPENSSL . auto/have
have=NGX_SSL . auto/have have=NGX_SSL . auto/have
LINK_DEPS="$LINK_DEPS $OPENSSL/out32/ssleay32.lib" CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
CORE_LIBS="$CORE_LIBS $OPENSSL/out32/ssleay32.lib"
LINK_DEPS="$LINK_DEPS $OPENSSL/out32/libeay32.lib" CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
CORE_LIBS="$CORE_LIBS $OPENSSL/out32/libeay32.lib" 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 # libeay32.lib requires gdi32.lib
CORE_LIBS="$CORE_LIBS gdi32.lib" CORE_LIBS="$CORE_LIBS gdi32.lib"
@ -24,6 +24,8 @@ if [ $OPENSSL != NONE ]; then
*) *)
have=NGX_OPENSSL . auto/have have=NGX_OPENSSL . auto/have
have=NGX_SSL . auto/have have=NGX_SSL . auto/have
CORE_INCS="$CORE_INCS $OPENSSL/include"
LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a" LINK_DEPS="$LINK_DEPS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a" CORE_LIBS="$CORE_LIBS $OPENSSL/libssl.a $OPENSSL/libcrypto.a"
;; ;;

View File

@ -3,7 +3,7 @@
if test -n "$OPENSSL_OPT"; then if test -n "$OPENSSL_OPT"; then
NGX_OPENSSL_CONFIG="./Configure \"$OPENSSL_OPT\"" NGX_OPENSSL_CONFIG="./Configure $OPENSSL_OPT"
else else
NGX_OPENSSL_CONFIG="./config" NGX_OPENSSL_CONFIG="./config"
fi fi
@ -14,29 +14,37 @@ case $USE_THREADS in
esac esac
case "$CC" in case "$CC" in
cl) cl)
cat << END >> $NGX_MAKEFILE cat << END >> $NGX_MAKEFILE
$OPENSSL/out32/ssleay32.lib: $OPENSSL/openssl/include/openssl/ssl.h: $NGX_MAKEFILE
cd $OPENSSL \$(MAKE) -f auto/lib/openssl/makefile.msvc \
perl Configure VC-WIN32 no-shared OPENSSL="$OPENSSL" OPENSSL_OPT="$OPENSSL_OPT"
ms\\do_ms
\$(MAKE) -f ms\\nt.mak
cd \$(MAKEDIR)
END END
;; ;;
bcc32) cl | bcc32)
cat << END >> $NGX_MAKEFILE
`echo "$OPENSSL\\out32\\libeay32.lib: $OPENSSL\\out32\\ssleay32.lib" \ ngx_opt=`echo "-DOPENSSL=\"$OPENSSL\" -DOPENSSL_OPT=\"$OPENSSL_OPT\"" \
| sed -e "s/\//$ngx_regex_dirsep/g"` | sed -e "s/\//$ngx_regex_dirsep/g"`
`echo "$OPENSSL\\out32\\ssleay32.lib:" | sed -e "s/\//$ngx_regex_dirsep/g"` cat << END >> $NGX_MAKEFILE
\$(MAKE) -f auto/lib/openssl/$ngx_makefile \
-DOPENSSL=`echo \"$OPENSSL\" | sed -e "s/\//$ngx_regex_dirsep/g"` `echo "$OPENSSL\\openssl\\lib\\libeay32.lib: \
$OPENSSL\\openssl\\include\\openssl\\ssl.h" \
| 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 END
@ -45,7 +53,7 @@ END
*) *)
cat << END >> $NGX_MAKEFILE cat << END >> $NGX_MAKEFILE
$OPENSSL/libssl.a: $OPENSSL/libssl.a: $NGX_MAKEFILE
cd $OPENSSL \\ cd $OPENSSL \\
&& \$(MAKE) clean \\ && \$(MAKE) clean \\
&& $NGX_OPENSSL_CONFIG no-shared \\ && $NGX_OPENSSL_CONFIG no-shared \\

View File

@ -2,11 +2,17 @@
# Copyright (C) Igor Sysoev # Copyright (C) Igor Sysoev
ssleay32.lib: all:
cd $(OPENSSL) 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 ms\do_nasm
$(MAKE) -f ms\bcb.mak $(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

View File

@ -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