OpenSSL depends on libdl and libz. When linking dynamically, libcrypto will
automatically link with the other two libraries. However, when linking
statically, these libraries need to be specified explicitly while linking. By
moving the autoconf checks for libdl and libz before those for libcrypto, we
ensure the latter test will be done with the proper libraries.
dnl These are defined in files in m4/
-tinc_OPENSSL
tinc_ZLIB
tinc_LZO
+tinc_OPENSSL
dnl Check if support for jumbograms is requested
AC_ARG_ENABLE(jumbograms,
AC_DEFUN([tinc_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"
[AC_MSG_ERROR([OpenSSL libraries not found.])]
)
-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_CHECK_FUNCS([RAND_pseudo_bytes EVP_EncryptInit_ex], ,
[AC_MSG_ERROR([Missing OpenSSL functionality, make sure you have installed the latest version.]); break],
)