- simplify configure.in
[tinc] / m4 / openssl.m4
1 dnl Check to find the OpenSSL headers/libraries
2
3 AC_DEFUN(tinc_OPENSSL,
4 [
5   tinc_ac_save_CPPFLAGS="$CPPFLAGS"
6
7   AC_ARG_WITH(openssl-include,
8     [  --with-openssl-include=DIR  OpenSSL headers directory (without trailing /openssl)],
9     [openssl_include="$withval"
10      CFLAGS="$CFLAGS -I$withval"
11      CPPFLAGS="$CPPFLAGS -I$withval"]
12   )
13
14   AC_ARG_WITH(openssl-lib,
15     [  --with-openssl-lib=DIR  OpenSSL library directory],
16     [openssl_lib="$withval"
17      LIBS="$LIBS -L$withval"]
18   )
19
20   AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h,
21     [],
22     [AC_MSG_ERROR([OpenSSL header files not found.]); break]
23   )
24
25   CPPFLAGS="$tinc_ac_save_CPPFLAGS"
26
27   AC_CHECK_LIB(crypto, SHA1_version,
28     [LIBS="$LIBS -lcrypto"],
29     [AC_MSG_ERROR([OpenSSL libraries not found.])]
30   )
31
32   AC_CHECK_FUNCS([RAND_pseudo_bytes EVP_EncryptInit_ex], ,
33     [AC_MSG_ERROR([Missing OpenSSL functionality, make sure you have installed the latest version.]); break],
34   )
35
36   AC_CHECK_DECL([OpenSSL_add_all_algorithms], ,
37     [AC_MSG_ERROR([Missing OpenSSL functionality, make sure you have installed the latest version.]); break],
38     [#include <openssl/evp.h>]
39   )
40
41   AC_CHECK_FUNC(dlopen,
42     [],
43     [AC_CHECK_LIB(dl, dlopen,
44       [LIBS="$LIBS -ldl"],
45       [AC_MSG_ERROR([OpenSSL depends on libdl.]); break]
46     )]
47   )
48 ])