mirror of
https://github.com/nginx/nginx.git
synced 2024-12-25 00:20:42 -06:00
e6f04424af
OPENSSL_config() deprecated in OpenSSL 1.1.0. Additionally, SSL_library_init(), SSL_load_error_strings() and OpenSSL_add_all_algorithms() are no longer available if OPENSSL_API_COMPAT is set to 0x10100000L. The OPENSSL_init_ssl() function is now used instead with appropriate arguments to trigger the same behaviour. The configure test changed to use SSL_CTX_set_options(). Deinitialization now happens automatically in OPENSSL_cleanup() called via atexit(3), so we no longer call EVP_cleanup() and ENGINE_cleanup() directly.
128 lines
3.5 KiB
Plaintext
128 lines
3.5 KiB
Plaintext
|
|
# Copyright (C) Igor Sysoev
|
|
# Copyright (C) Nginx, Inc.
|
|
|
|
|
|
if [ $OPENSSL != NONE ]; then
|
|
|
|
case "$CC" in
|
|
|
|
cl | bcc32)
|
|
have=NGX_OPENSSL . auto/have
|
|
have=NGX_SSL . auto/have
|
|
|
|
CFLAGS="$CFLAGS -DNO_SYS_TYPES_H"
|
|
|
|
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"
|
|
# OpenSSL 1.0.0 requires crypt32.lib
|
|
CORE_LIBS="$CORE_LIBS crypt32.lib"
|
|
;;
|
|
|
|
*)
|
|
have=NGX_OPENSSL . auto/have
|
|
have=NGX_SSL . auto/have
|
|
|
|
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
|
|
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
|
|
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
|
|
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
|
|
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"
|
|
|
|
if [ "$NGX_PLATFORM" = win32 ]; then
|
|
CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32"
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
else
|
|
|
|
if [ "$NGX_PLATFORM" != win32 ]; then
|
|
|
|
OPENSSL=NO
|
|
|
|
ngx_feature="OpenSSL library"
|
|
ngx_feature_name="NGX_OPENSSL"
|
|
ngx_feature_run=no
|
|
ngx_feature_incs="#include <openssl/ssl.h>"
|
|
ngx_feature_path=
|
|
ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL"
|
|
ngx_feature_test="SSL_CTX_set_options(NULL, 0)"
|
|
. auto/feature
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# FreeBSD port
|
|
|
|
ngx_feature="OpenSSL library in /usr/local/"
|
|
ngx_feature_path="/usr/local/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto $NGX_LIBDL"
|
|
else
|
|
ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto $NGX_LIBDL"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# NetBSD port
|
|
|
|
ngx_feature="OpenSSL library in /usr/pkg/"
|
|
ngx_feature_path="/usr/pkg/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto $NGX_LIBDL"
|
|
else
|
|
ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto $NGX_LIBDL"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = no ]; then
|
|
|
|
# MacPorts
|
|
|
|
ngx_feature="OpenSSL library in /opt/local/"
|
|
ngx_feature_path="/opt/local/include"
|
|
|
|
if [ $NGX_RPATH = YES ]; then
|
|
ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto $NGX_LIBDL"
|
|
else
|
|
ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto $NGX_LIBDL"
|
|
fi
|
|
|
|
. auto/feature
|
|
fi
|
|
|
|
if [ $ngx_found = yes ]; then
|
|
have=NGX_SSL . auto/have
|
|
CORE_INCS="$CORE_INCS $ngx_feature_path"
|
|
CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
|
|
OPENSSL=YES
|
|
fi
|
|
fi
|
|
|
|
if [ $OPENSSL != YES ]; then
|
|
|
|
cat << END
|
|
|
|
$0: error: SSL modules require the OpenSSL library.
|
|
You can either do not enable the modules, or install the OpenSSL library
|
|
into the system, or build the OpenSSL library statically from the source
|
|
with nginx by using --with-openssl=<path> option.
|
|
|
|
END
|
|
exit 1
|
|
fi
|
|
|
|
fi
|