| From 4ba4b1e0bd1b69e124eb34c95ae9e7c087370efa Mon Sep 17 00:00:00 2001 |
| From: Martin Bark <martin@barkynet.com> |
| 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 <martin@barkynet.com> |
| --- |
| 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 <openssl/ssl.h>" |
| - 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 <openssl/ssl.h>" |
| + 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=<path> option. |
| |
| END |
| - exit 1 |
| + exit 1 |
| fi |
| |
| fi |
| -- |
| 2.17.1 |
| |