From 4ba4b1e0bd1b69e124eb34c95ae9e7c087370efa Mon Sep 17 00:00:00 2001 From: Martin Bark Date: Fri, 6 May 2016 14:48:31 +0100 Subject: [PATCH] auto/lib/openssl/conf: use pkg-config Change to using pkg-config to find the path to openssl and its dependencies. Signed-off-by: Martin Bark --- auto/lib/openssl/conf | 187 +++++++++++++++++++++--------------------- 1 file changed, 94 insertions(+), 93 deletions(-) diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf index 4fb52df7..9f30490d 100644 --- a/auto/lib/openssl/conf +++ b/auto/lib/openssl/conf @@ -1,4 +1,3 @@ - # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. @@ -7,123 +6,125 @@ 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" - - 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 - 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" - CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" - - if [ "$NGX_PLATFORM" = win32 ]; then - CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" - fi - ;; + 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" + + 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 + 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" + CORE_LIBS="$CORE_LIBS $NGX_LIBPTHREAD" + + if [ "$NGX_PLATFORM" = win32 ]; then + CORE_LIBS="$CORE_LIBS -lgdi32 -lcrypt32 -lws2_32" + fi + ;; esac else if [ "$NGX_PLATFORM" != win32 ]; then - OPENSSL=NO + OPENSSL=NO - ngx_feature="OpenSSL library" - ngx_feature_name="NGX_OPENSSL" - ngx_feature_run=no - ngx_feature_incs="#include " - ngx_feature_path= - ngx_feature_libs="-lssl -lcrypto $NGX_LIBDL $NGX_LIBPTHREAD" - ngx_feature_test="SSL_CTX_set_options(NULL, 0)" - . auto/feature + ngx_feature="OpenSSL library" + ngx_feature_name="NGX_OPENSSL" + ngx_feature_run=no + ngx_feature_incs="#include " + ngx_feature_path= + ngx_feature_path="$(${PKG_CONFIG:=pkg-config} --cflags-only-I openssl| + sed -re 's/(^|\s)-I\s*(\S+)/\1\2/g')" + ngx_feature_libs="$(${PKG_CONFIG:=pkg-config} --libs openssl)" + ngx_feature_test="SSL_CTX_set_options(NULL, 0)" + . auto/feature - if [ $ngx_found = no ]; then + if [ $ngx_found = no ]; then - # FreeBSD port + # FreeBSD port - ngx_feature="OpenSSL library in /usr/local/" - ngx_feature_path="/usr/local/include" + 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" - else - ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" - fi + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" + else + ngx_feature_libs="-L/usr/local/lib -lssl -lcrypto" + fi - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - . auto/feature - fi + . auto/feature + fi - if [ $ngx_found = no ]; then + if [ $ngx_found = no ]; then - # NetBSD port + # NetBSD port - ngx_feature="OpenSSL library in /usr/pkg/" - ngx_feature_path="/usr/pkg/include" + 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" - else - ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" - fi + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lssl -lcrypto" + else + ngx_feature_libs="-L/usr/pkg/lib -lssl -lcrypto" + fi - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - . auto/feature - fi + . auto/feature + fi - if [ $ngx_found = no ]; then + if [ $ngx_found = no ]; then - # MacPorts + # MacPorts - ngx_feature="OpenSSL library in /opt/local/" - ngx_feature_path="/opt/local/include" + 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" - else - ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" - fi + if [ $NGX_RPATH = YES ]; then + ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lssl -lcrypto" + else + ngx_feature_libs="-L/opt/local/lib -lssl -lcrypto" + fi - ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" + ngx_feature_libs="$ngx_feature_libs $NGX_LIBDL $NGX_LIBPTHREAD" - . auto/feature - 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 + 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 @@ -136,7 +137,7 @@ into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl= option. END - exit 1 + exit 1 fi fi -- 2.17.1