blob: 43387296589da4d45b71768e4c8db5fe16255377 [file] [log] [blame]
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