mirror of https://github.com/BOINC/boinc.git
95 lines
3.0 KiB
Plaintext
95 lines
3.0 KiB
Plaintext
AC_DEFUN([CHECK_SSL],
|
|
[
|
|
SSLDIR=
|
|
SSL_LIBS=
|
|
SSL_CFLAGS=
|
|
SSL_CXXFLAGS=
|
|
AC_ARG_WITH(pkg-config,
|
|
AC_HELP_STRING([--with-pkg-config],
|
|
[Use pkg-config specified]),
|
|
[mypkgconfig="${withval}"]
|
|
[mypkgconfig=])
|
|
|
|
|
|
AC_PATH_PROG(PKGCONFIG,[$mypkgconfig pkg-config])
|
|
AC_ARG_WITH(ssl,
|
|
AC_HELP_STRING([--with-ssl],
|
|
[Use openssl (in specified installation directory)]),
|
|
[check_ssl_dir="$withval"],
|
|
[check_ssl_dir=])
|
|
if test "x${PKGCONFIG}" != "x" -a "x${check_ssl_dir}" = "x" ; then
|
|
SSLDIR="`${PKGCONFIG} openssl --cflags-only-I | sed -e 's/-I//' -e 's/\/include\/openssl//' -e 's/\/include//' | grep '[a-z]' 2>/dev/null`"
|
|
if test "x${SSLDIR}" = "x" ; then
|
|
if test -d "/usr/include/openssl" -o -f "/usr/include/ssl.h" ; then
|
|
SSLDIR="/usr"
|
|
fi
|
|
fi
|
|
if test "x${enable_client_release}" = "xyes" -o "x${disable_static_linkage}" = "xno" ; then
|
|
SSL_LIBS="`${PKGCONFIG} openssl --libs --static 2>/dev/null`"
|
|
fi
|
|
if test "x${SSL_LIBS}" = "x" ; then
|
|
SSL_LIBS="`${PKGCONFIG} openssl --libs 2>/dev/null`"
|
|
fi
|
|
|
|
|
|
SSL_CFLAGS="`${PKGCONFIG} openssl --cflags 2>/dev/null`"
|
|
SSL_CXXFLAGS="${SSL_CFLAGS}"
|
|
SSL_CPPFLAGS="${SSL_CFLAGS}"
|
|
found_ssl="yes"
|
|
fi
|
|
if test "x${SSL_LIBS}" = "x" ; then
|
|
found_ssl="no"
|
|
for dir in $check_ssl_dir ${prefix} /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /usr /opt/misc /opt/csw /opt/sfw; do
|
|
ssldir="$dir"
|
|
if test -f "$dir/include/openssl/ssl.h"; then
|
|
found_ssl="yes";
|
|
SSLDIR="${ssldir}"
|
|
SSL_CFLAGS="-I$ssldir/include -I$ssldir/include/openssl";
|
|
SSL_CXXFLAGS="-I$ssldir/include -I$ssldir/include/openssl";
|
|
SSL_LIBS="-L$ssldir -L$ssldir/lib -lssl -lcrypto"
|
|
AC_CHECK_LIB([dl], [dlopen],
|
|
[SSL_LIBS="${SSL_LIBS} ${sah_lib_last}"])
|
|
AC_CHECK_LIB([z], [gzopen],
|
|
[SSL_LIBS="${SSL_LIBS} ${sah_lib_last}"])
|
|
break;
|
|
fi
|
|
if test -f "$dir/include/ssl.h"; then
|
|
found_ssl="yes"
|
|
SSLDIR="${ssldir}"
|
|
SSL_CFLAGS="-I$ssldir/include/"
|
|
SSL_CXXFLAGS="-I$ssldir/include/"
|
|
SSL_LIBS="-L$ssldir -L$ssldir/lib -lssl -lcrypto"
|
|
AC_CHECK_LIB([dl], [dlopen],
|
|
[SSL_LIBS="${SSL_LIBS} ${sah_lib_last}"])
|
|
AC_CHECK_LIB([z], [gzopen],
|
|
[SSL_LIBS="${SSL_LIBS} ${sah_lib_last}"])
|
|
break;
|
|
fi
|
|
done
|
|
fi
|
|
AC_MSG_CHECKING(for openssl)
|
|
AC_MSG_RESULT($found_ssl)
|
|
|
|
BOINC_CHECK_LIB_WITH([gcrypt],[gcry_randomize],[SSL_LIBS])
|
|
BOINC_CHECK_LIB_WITH([gpg-error],[gpg_strerror], [SSL_LIBS])
|
|
|
|
if test x_$found_ssl != x_yes; then
|
|
AC_MSG_ERROR([
|
|
----------------------------------------------------------------------
|
|
Cannot find openssl libraries.
|
|
|
|
Please install openssl or specify installation directory with
|
|
--with-ssl=(dir).
|
|
----------------------------------------------------------------------
|
|
])
|
|
else
|
|
printf "OpenSSL found in $SSLDIR\n";
|
|
AC_DEFINE_UNQUOTED([USE_OPENSSL],[1],
|
|
["Define to 1 if you want to use the openssl crypto library"])
|
|
AC_SUBST(SSLDIR)
|
|
AC_SUBST(SSL_CFLAGS)
|
|
AC_SUBST(SSL_CXXFLAGS)
|
|
AC_SUBST(SSL_LIBS)
|
|
fi
|
|
])
|