diff options
author | Cory Fields <cory-nospam-@coryfields.com> | 2015-07-31 23:15:56 -0400 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2015-09-22 00:43:11 +0000 |
commit | 5a3913361d0c045db69932ac5f152c4cf76e13cb (patch) | |
tree | f2d728d9e70b0f1f6cdacf37eb62cc4df9aa2ac8 | |
parent | f6355e69183f20c3d1fd1b9adbb4f3a00ad680ac (diff) |
build: fix libressl detection
Checking libcrypto for a function after we've already found a (possibly
different) libcrypto is not what we want to do here.
pkg-config might've found a cross lib while AC_CHECK_LIB may find a different
or native one.
Run a link-test against the lib that's already been found instead.
-rw-r--r-- | configure.ac | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 37fe47e3c9..7e493c704b 100644 --- a/configure.ac +++ b/configure.ac @@ -692,6 +692,21 @@ LIBS_TEMP="$LIBS" CFLAGS="$CFLAGS $SSL_CFLAGS $CRYPTO_CFLAGS" LIBS="$LIBS $SSL_LIBS $CRYPTO_LIBS" AC_CHECK_HEADER([openssl/ec.h],, AC_MSG_ERROR(OpenSSL ec header missing),) + +AC_MSG_CHECKING(for a supported OpenSSL version) +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include <openssl/rand.h> + ]], + [[RAND_egd(NULL);]])], + [AC_MSG_RESULT(yes)], + [ + AC_ARG_WITH([libressl], + [AS_HELP_STRING([--with-libressl],[Build with system LibreSSL (default is no; DANGEROUS; NOT SUPPORTED)])], + [AC_MSG_WARN([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])], + [AC_MSG_ERROR([Detected LibreSSL: This is NOT supported, and may break consensus compatibility!])] + )] +) + CFLAGS="$CFLAGS_TEMP" LIBS="$LIBS_TEMP" |