]> git.meshlink.io Git - meshlink/blob - m4/openssl.m4
2ef9c37853104a993e731e55d8b950710bd38145
[meshlink] / 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)
33
34   AC_CHECK_FUNC(dlopen,
35     [],
36     AC_CHECK_LIB(dl, dlopen,
37       [LIBS="$LIBS -ldl"],
38       [AC_MSG_ERROR("OpenSSL depends on libdl.")]
39     )
40   )
41 ])