Various fixes for autoconf and OpenSSL 0.9.7 and a missing header.
[oweals/tinc.git] / m4 / openssl.m4
index bf5ce9fcaae010fdef98cff8e61c5ec7fd60629a..79dd3c118c84e85469c3c3164bd2049e6be1044e 100644 (file)
@@ -19,13 +19,23 @@ AC_DEFUN(tinc_OPENSSL,
 
   AC_CHECK_HEADERS(openssl/evp.h openssl/rsa.h openssl/rand.h openssl/err.h openssl/sha.h openssl/pem.h,
     [],
-    [AC_MSG_ERROR("OpenSSL header files not found."); break]
+    [AC_MSG_ERROR([OpenSSL header files not found.]); break]
   )
 
   CPPFLAGS="$tinc_ac_save_CPPFLAGS"
 
   AC_CHECK_LIB(crypto, SHA1_version,
     [LIBS="$LIBS -lcrypto"],
-    [AC_MSG_ERROR("OpenSSL libraries not found.")]
+    [AC_MSG_ERROR([OpenSSL libraries not found.])]
+  )
+
+  AC_CHECK_FUNCS([RAND_pseudo_bytes OPENSSL_add_all_algorithms_noconf OpenSSL_add_all_algorithms SSLeay_add_all_algorithms])
+
+  AC_CHECK_FUNC(dlopen,
+    [],
+    [AC_CHECK_LIB(dl, dlopen,
+      [LIBS="$LIBS -ldl"],
+      [AC_MSG_ERROR([OpenSSL depends on libdl.])]
+    )]
   )
 ])