# HG changeset patch # User Igor Sysoev # Date 1242315994 0 # Node ID dfec0e0902655fb324027cf1fc98c38bb7a65314 # Parent 10d6b995045343a0fba6864f77b1c99b78306ef6 fix building OpenSSL on Win32 diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf --- 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 --- 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 --- 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 --- /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