AC_DEFUN([AM_PATH_OPENSSL], [ AC_ARG_WITH([openssl-prefix], [ --with-openssl-prefix=PREFIX Prefix where OpenSSL installed (optional)], [openssl_prefix=$withval], [openssl_prefix=""]) if test "x$openssl_prefix" = "x"; then openssl_prefix="/usr" fi LIBS_save=$LIBS CPPFLAGS_save=$CPPFLAGS PKG_CONFIG_PATH_save=$PKG_CONFIG_PATH PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8], [have_openssl=yes], [have_openssl=no]) if test "x$have_openssl" != "xyes"; then openssl_prefix_lib=$openssl_prefix/lib openssl_prefix_include=$openssl_prefix/include LIBS="-L$openssl_prefix_lib $LIBS" CPPFLAGS="-I$openssl_prefix_include $CPPFLAGS" # First check libcrypto, because libssl may depend on it AC_CHECK_LIB([crypto], [main], [have_openssl=yes; LIBS="-lcrypto $LIBS"]) if test "x$have_openssl" = "xyes"; then have_openssl=no AC_CHECK_LIB([ssl], [SSL_library_init], [have_openssl=yes LIBS="-lssl $LIBS"]) if test "x$have_openssl" = "xyes"; then OPENSSL_LIBS="-L$openssl_prefix_lib -lssl -lcrypto" OPENSSL_CFLAGS="-I$openssl_prefix_include" fi fi fi if test "x$have_openssl" = "xyes"; then AC_DEFINE([HAVE_OPENSSL], [1], [Define to 1 if you have openssl.]) LIBS="$OPENSSL_LIBS $LIBS" CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS" # check whether EVP_DigestInit_ex exists. Old openssl doesn't have it. AC_CHECK_FUNCS([EVP_DigestInit_ex], [have_digestinit_ex=yes]) if test "x$have_digestinit_ex" = "x"; then AC_DEFINE([HAVE_OLD_OPENSSL], [1], [Define to 1 if you have old openssl.]) fi # search for sha224 support AC_CHECK_FUNCS([EVP_sha224]) # search for sha256 support AC_CHECK_FUNCS([EVP_sha256]) # search for sha384 support AC_CHECK_FUNCS([EVP_sha384]) # search for sha512 support AC_CHECK_FUNCS([EVP_sha512]) fi LIBS=$LIBS_save CPPFLAGS=$CPPFLAGS_save PKG_CONFIG_PATH=$PKG_CONFIG_PATH_save ])