Win32: compatiblity with OpenSSL 1.1.0.

OpenSSL 1.1.0 now uses normal "nmake; nmake install" instead of using
custom "ms\do_ms.bat" script and "ms\nt.mak" makefile.  And Configure
now requires --prefix to be absolute, and no longer derives --openssldir
from prefix (so it's specified explicitly).  Generated libraries are now
called "libcrypto.lib" and "libssl.lib" instead of "libeay32.lib"
and "ssleay32.lib".  Appropriate tests added to support both old and new
variants.

Additionally, openssl/lhash.h now triggers warning C4090 ('function' :
different 'const' qualifiers), so the warning was disabled.
This commit is contained in:
Maxim Dounin 2016-12-24 18:01:14 +03:00
parent 1c2c11fb6f
commit 77471dbdbb
3 changed files with 25 additions and 7 deletions

View File

@ -15,8 +15,16 @@ if [ $OPENSSL != NONE ]; then
CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" CORE_INCS="$CORE_INCS $OPENSSL/openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" 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" if [ -f $OPENSSL/ms/do_ms.bat ]; then
# before OpenSSL 1.1.0
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib"
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib"
else
# OpenSSL 1.1.0+
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib"
CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib"
fi
# libeay32.lib requires gdi32.lib # libeay32.lib requires gdi32.lib
CORE_LIBS="$CORE_LIBS gdi32.lib" CORE_LIBS="$CORE_LIBS gdi32.lib"

View File

@ -6,9 +6,16 @@
all: all:
cd $(OPENSSL) cd $(OPENSSL)
perl Configure VC-WIN32 no-shared --prefix=openssl $(OPENSSL_OPT) perl Configure VC-WIN32 no-shared \
--prefix="%cd%/openssl" \
--openssldir="%cd%/openssl/ssl" \
$(OPENSSL_OPT)
ms\do_ms if exist ms\do_ms.bat ( \
ms\do_ms \
$(MAKE) -f ms\nt.mak && $(MAKE) -f ms\nt.mak \
$(MAKE) -f ms\nt.mak install && $(MAKE) -f ms\nt.mak install \
) else ( \
$(MAKE) \
&& $(MAKE) install_sw \
)

View File

@ -88,6 +88,9 @@ typedef long time_t;
/* 'type cast': from data pointer to function pointer */ /* 'type cast': from data pointer to function pointer */
#pragma warning(disable:4055) #pragma warning(disable:4055)
/* 'function' : different 'const' qualifiers */
#pragma warning(disable:4090)
/* unreferenced formal parameter */ /* unreferenced formal parameter */
#pragma warning(disable:4100) #pragma warning(disable:4100)