sanitize the OpenSSL detection
This commit is contained in:
parent
af0b75a5dc
commit
eb0bbf8b84
62
configure.in
62
configure.in
|
@ -17,25 +17,59 @@ AC_SUBST(SOCK_LIBS)
|
||||||
|
|
||||||
m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
|
m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
|
||||||
|
|
||||||
ssl=false
|
have_ssl_paths=
|
||||||
AC_ARG_WITH(ssl,
|
AC_ARG_WITH(ssl,
|
||||||
AS_HELP_STRING([--with-ssl=DIR], [yes/no/OpenSSL installation root [detect]]),
|
AS_HELP_STRING([--with-ssl[=PATH]], [where to look for SSL [detect]]),
|
||||||
[ob_cv_with_ssl=$withval])
|
[ob_cv_with_ssl=$withval])
|
||||||
if test "x$ob_cv_with_ssl" != xno; then
|
if test "x$ob_cv_with_ssl" != xno; then
|
||||||
if test -d "$ob_cv_with_ssl/lib"; then
|
case $ob_cv_with_ssl in
|
||||||
CPFLAGS="$CPPFLAGS -I$ob_cv_with_ssl/include"
|
""|yes)
|
||||||
LDFLAGS="$LDFLAGS -L$ob_cv_with_ssl/lib"
|
dnl Detect the pkg-config tool, as it may have extra info about the openssl
|
||||||
|
dnl installation we can use. I *believe* this is what we are expected to do
|
||||||
|
dnl on really recent Redhat Linux hosts.
|
||||||
|
AC_PATH_PROG(PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
|
||||||
|
if test "$PKGCONFIG" != "no" ; then
|
||||||
|
AC_MSG_CHECKING([OpenSSL presence with pkg-config])
|
||||||
|
if $PKGCONFIG --exists openssl; then
|
||||||
|
SSL_LIBS=`$PKGCONFIG --libs-only-l openssl`
|
||||||
|
SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl`
|
||||||
|
SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl`
|
||||||
|
have_ssl_paths=yes
|
||||||
|
AC_MSG_RESULT([found])
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([not found])
|
||||||
fi
|
fi
|
||||||
AC_CHECK_LIB(crypto, ERR_error_string, [cryptolib=" -lcrypto"])
|
fi
|
||||||
AC_CHECK_LIB(ssl, SSL_library_init, [
|
;;
|
||||||
SSL_LIBS="-lssl$cryptolib"
|
*)
|
||||||
AC_DEFINE(HAVE_LIBSSL, 1, [Define if you want SSL support])
|
SSL_LDFLAGS=-L$ob_cv_with_ssl/lib$libsuff
|
||||||
ssl=true
|
SSL_CPPFLAGS=-I$ob_cv_with_ssl/include
|
||||||
],[
|
;;
|
||||||
|
esac
|
||||||
|
if test -z "$have_ssl_paths"; then
|
||||||
|
sav_LDFLAGS=$LDFLAGS
|
||||||
|
LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
|
||||||
|
AC_CHECK_LIB(dl, dlopen, [LIBDL=-ldl])
|
||||||
|
AC_CHECK_LIB(crypto, CRYPTO_lock, [LIBCRYPTO=-lcrypto])
|
||||||
|
AC_CHECK_LIB(ssl, SSL_connect,
|
||||||
|
[SSL_LIBS="-lssl $LIBCRYPTO $LIBDL" have_ssl_paths=yes])
|
||||||
|
LDFLAGS=$sav_LDFLAGS
|
||||||
|
fi
|
||||||
|
|
||||||
|
sav_CPPFLAGS=$CPPFLAGS
|
||||||
|
CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
|
||||||
|
AC_CHECK_HEADER(openssl/ssl.h, , [have_ssl_paths=])
|
||||||
|
CPPFLAGS=$sav_CPPFLAGS
|
||||||
|
|
||||||
|
if test -z "$have_ssl_paths"; then
|
||||||
if test -n "$ob_cv_with_ssl"; then
|
if test -n "$ob_cv_with_ssl"; then
|
||||||
AC_MSG_ERROR([can't find OpenSSL])
|
AC_MSG_ERROR([OpenSSL libs and/or includes were not found where specified])
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_DEFINE(HAVE_SSL, 1, [if you have the OpenSSL libraries])
|
||||||
|
CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
|
||||||
fi
|
fi
|
||||||
])
|
|
||||||
fi
|
fi
|
||||||
AC_SUBST(SSL_LIBS)
|
AC_SUBST(SSL_LIBS)
|
||||||
|
|
||||||
|
@ -61,7 +95,7 @@ AM_CONDITIONAL(with_compat, test "x$ob_cv_enable_compat" != xno)
|
||||||
|
|
||||||
AC_OUTPUT(Makefile src/Makefile src/compat/Makefile isync.spec)
|
AC_OUTPUT(Makefile src/Makefile src/compat/Makefile isync.spec)
|
||||||
|
|
||||||
if $ssl; then
|
if test -n "$have_ssl_paths"; then
|
||||||
AC_MSG_RESULT([
|
AC_MSG_RESULT([
|
||||||
Using SSL
|
Using SSL
|
||||||
])
|
])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user