openssl.m4 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. AC_DEFUN([AM_PATH_OPENSSL],
  2. [
  3. AC_ARG_WITH([openssl-prefix],
  4. [ --with-openssl-prefix=PREFIX Prefix where OpenSSL installed (optional)],
  5. [openssl_prefix=$withval],
  6. [openssl_prefix=""])
  7. if test "x$openssl_prefix" = "x"; then
  8. openssl_prefix="/usr/local"
  9. fi
  10. LIBS_save=$LIBS
  11. CPPFLAGS_save=$CPPFLAGS
  12. PKG_CONFIG="$openssl_prefix/bin/pkg-config"
  13. if test -x $PKG_CONFIG; then
  14. AC_MSG_CHECKING([checking availability of openssl using pkg-config])
  15. $PKG_CONFIG --exists openssl
  16. if test "$?" = "0"; then
  17. # Use pkg-config to detect LIBS and CFLAGS
  18. OPENSSL_LIBS=`$PKG_CONFIG --libs openssl`
  19. OPENSSL_CFLAGS=`$PKG_CONFIG --cflags openssl`
  20. LIBS="$OPENSSL_LIBS $LIBS"
  21. CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS"
  22. have_openssl=yes
  23. AC_MSG_RESULT([yes])
  24. else
  25. AC_MSG_RESULT([no])
  26. fi
  27. fi
  28. if test "x$have_openssl" != "xyes"; then
  29. openssl_prefix_lib=$openssl_prefix/lib
  30. openssl_prefix_include=$openssl_prefix/include
  31. LIBS="-L$openssl_prefix_lib $LIBS"
  32. CPPFLAGS="-I$openssl_prefix_include $CPPFLAGS"
  33. # First check libcrypto, because libssl may depend on it
  34. AC_CHECK_LIB([crypto], [main], [have_openssl=yes; LIBS="-lcrypto $LIBS"])
  35. if test "x$have_openssl" = "xyes"; then
  36. have_openssl=no
  37. AC_CHECK_LIB([ssl], [SSL_library_init], [have_openssl=yes LIBS="-lssl $LIBS"])
  38. if test "x$have_openssl" = "xyes"; then
  39. OPENSSL_LIBS="-L$openssl_prefix_lib -lssl -lcrypto"
  40. OPENSSL_CFLAGS="-I$openssl_prefix_include"
  41. fi
  42. fi
  43. fi
  44. if test "x$have_openssl" = "xyes"; then
  45. AC_DEFINE([HAVE_LIBSSL], [1], [Define to 1 if you have openssl.])
  46. # check whether EVP_DigestInit_ex exists. Old openssl doesn't have it.
  47. AC_CHECK_FUNCS([EVP_DigestInit_ex], [have_digestinit_ex=yes])
  48. if test "x$have_digestinit_ex" = "x"; then
  49. AC_DEFINE([HAVE_OLD_LIBSSL], [1], [Define to 1 if you have old openssl.])
  50. fi
  51. AC_SUBST(OPENSSL_LIBS)
  52. AC_SUBST(OPENSSL_CFLAGS)
  53. # search for sha224 support
  54. AC_CHECK_FUNCS([EVP_sha224])
  55. # search for sha256 support
  56. AC_CHECK_FUNCS([EVP_sha256])
  57. # search for sha384 support
  58. AC_CHECK_FUNCS([EVP_sha384])
  59. # search for sha512 support
  60. AC_CHECK_FUNCS([EVP_sha512])
  61. fi
  62. LIBS=$LIBS_save
  63. CPPFLAGS=$CPPFLAGS_save
  64. ])