openssl.m4 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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"
  9. fi
  10. LIBS_save=$LIBS
  11. CPPFLAGS_save=$CPPFLAGS
  12. PKG_CONFIG_PATH_save=$PKG_CONFIG_PATH
  13. PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
  14. PKG_CHECK_MODULES([OPENSSL], [openssl >= 0.9.8],
  15. [have_openssl=yes], [have_openssl=no])
  16. if test "x$have_openssl" != "xyes"; then
  17. openssl_prefix_lib=$openssl_prefix/lib
  18. openssl_prefix_include=$openssl_prefix/include
  19. LIBS="-L$openssl_prefix_lib $LIBS"
  20. CPPFLAGS="-I$openssl_prefix_include $CPPFLAGS"
  21. # First check libcrypto, because libssl may depend on it
  22. AC_CHECK_LIB([crypto], [main], [have_openssl=yes; LIBS="-lcrypto $LIBS"])
  23. if test "x$have_openssl" = "xyes"; then
  24. have_openssl=no
  25. AC_CHECK_LIB([ssl], [SSL_library_init],
  26. [have_openssl=yes LIBS="-lssl $LIBS"])
  27. if test "x$have_openssl" = "xyes"; then
  28. OPENSSL_LIBS="-L$openssl_prefix_lib -lssl -lcrypto"
  29. OPENSSL_CFLAGS="-I$openssl_prefix_include"
  30. fi
  31. fi
  32. fi
  33. if test "x$have_openssl" = "xyes"; then
  34. AC_DEFINE([HAVE_OPENSSL], [1], [Define to 1 if you have openssl.])
  35. LIBS="$OPENSSL_LIBS $LIBS"
  36. CPPFLAGS="$OPENSSL_CFLAGS $CPPFLAGS"
  37. # check whether EVP_DigestInit_ex exists. Old openssl doesn't have it.
  38. AC_CHECK_FUNCS([EVP_DigestInit_ex], [have_digestinit_ex=yes])
  39. if test "x$have_digestinit_ex" = "x"; then
  40. AC_DEFINE([HAVE_OLD_OPENSSL], [1], [Define to 1 if you have old openssl.])
  41. fi
  42. # search for sha224 support
  43. AC_CHECK_FUNCS([EVP_sha224])
  44. # search for sha256 support
  45. AC_CHECK_FUNCS([EVP_sha256])
  46. # search for sha384 support
  47. AC_CHECK_FUNCS([EVP_sha384])
  48. # search for sha512 support
  49. AC_CHECK_FUNCS([EVP_sha512])
  50. fi
  51. LIBS=$LIBS_save
  52. CPPFLAGS=$CPPFLAGS_save
  53. PKG_CONFIG_PATH=$PKG_CONFIG_PATH_save
  54. ])