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 ])