From fd3fa794ae9eefb47e92020750083ceddb4ac7c1 Mon Sep 17 00:00:00 2001 From: Max Lv Date: Sat, 8 Jun 2013 21:25:03 +0800 Subject: [PATCH] add openssl m4 --- configure.ac | 2 +- m4/openssl.m4 | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 m4/openssl.m4 diff --git a/configure.ac b/configure.ac index db38b78a..97396c31 100755 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ dnl Checks for libev m4_include([libev/libev.m4]) dnl Checks for openssl -AC_SEARCH_LIBS([MD5], [crypto], [ ], AC_MSG_ERROR([libcrypto not found.])) +ss_OPENSSL dnl Checks for host. AC_MSG_CHECKING(for what kind of host) diff --git a/m4/openssl.m4 b/m4/openssl.m4 new file mode 100644 index 00000000..c47e94b0 --- /dev/null +++ b/m4/openssl.m4 @@ -0,0 +1,56 @@ +dnl Check to find the OpenSSL headers/libraries + +AC_DEFUN([ss_OPENSSL], +[ + case $host_os in + *mingw*) + ;; + *) + AC_CHECK_FUNC(dlopen, + [], + [AC_CHECK_LIB(dl, dlopen, + [LIBS="$LIBS -ldl"], + [AC_MSG_ERROR([OpenSSL depends on libdl.]); break] + )] + ) + ;; + esac + + AC_ARG_WITH(openssl, + AS_HELP_STRING([--with-openssl=DIR], [OpenSSL base directory, or:]), + [openssl="$withval" + CFLAGS="$CFLAGS -I$withval/include" + LDFLAGS="$LDFLAGS -L$withval/lib"] + ) + + AC_ARG_WITH(openssl-include, + AS_HELP_STRING([--with-openssl-include=DIR], [OpenSSL headers directory (without trailing /openssl)]), + [openssl_include="$withval" + CFLAGS="$CFLAGS -I$withval"] + ) + + AC_ARG_WITH(openssl-lib, + AS_HELP_STRING([--with-openssl-lib=DIR], [OpenSSL library directory]), + [openssl_lib="$withval" + LDFLAGS="$LDFLAGS -L$withval"] + ) + + AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h openssl/engine.h, + [], + [AC_MSG_ERROR([OpenSSL header files not found.]); break] + ) + + AC_CHECK_LIB(crypto, EVP_EncryptInit_ex, + [LIBS="-lcrypto $LIBS"], + [AC_MSG_ERROR([OpenSSL libraries not found.])] + ) + + AC_CHECK_FUNCS([RAND_pseudo_bytes EVP_EncryptInit_ex], , + [AC_MSG_ERROR([Missing OpenSSL functionality, make sure you have installed the latest version.]); break], + ) + + AC_CHECK_DECL([OpenSSL_add_all_algorithms], , + [AC_MSG_ERROR([Missing OpenSSL functionality, make sure you have installed the latest version.]); break], + [#include ] + ) +])