X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=m4%2Fopenssl.m4;h=79dd3c118c84e85469c3c3164bd2049e6be1044e;hp=3fef464b55b7a5b06e2ec602b1c50c02a821707b;hb=1783a3aaa9b692ab64260a9c2adf588ed6083a1c;hpb=5344832be1126967ff340cf6bd270a377bb8e487 diff --git a/m4/openssl.m4 b/m4/openssl.m4 index 3fef464b..79dd3c11 100644 --- a/m4/openssl.m4 +++ b/m4/openssl.m4 @@ -1,54 +1,41 @@ dnl Check to find the OpenSSL headers/libraries - AC_DEFUN(tinc_OPENSSL, [ - - AC_CACHE_CHECK([for openssl], tinc_cv_openssl_include, - [ - AC_ARG_WITH(openssl, - [ --with-openssl=DIR OpenSSL library and headers prefix], - [echo -ne 'prefix...' - openssl_lib="$withval/lib" - openssl_include="$withval/include"] - ) - AC_ARG_WITH(openssl-include, - [ --with-openssl-include=DIR OpenSSL headers directory], - [echo -ne 'includes...' - openssl_include="$withvall"] - ) - AC_ARG_WITH(openssl-lib, - [ --with-openssl-lib=DIR OpenSSL library directory], - [echo -ne 'libraries...' - openssl_lib="$withval"] - ) - -if test "x$openssl_lib" != "x" ; then - LIBS="$LIBS -L$openssl_lib" -fi -if test "x$openssl_include" != "x" ; then - INCLUDES="$INCLUDES -I$openssl_include" -fi - -AC_MSG_RESULT([done.]) - ]) - -libcrypto=none -AC_CHECK_LIB(crypto, SHA1_version, [ - libcrypto=yes -]) - -if test $libcrypto = none; then - AC_MSG_ERROR( -[It seems like OpenSSL is not installed on this system. But perhaps -you need to supply the exact location of the headers and libraries. -You can try running configure with the --with-openssl=/DIRECTORY -parameter. If you installed the headers and libraries in a different -location you can use --with-openssl-include=/DIR and ---with-openssl-lib=/DIR.]) - -else - LIBS="$LIBS -lcrypto" -fi - + tinc_ac_save_CPPFLAGS="$CPPFLAGS" + + AC_ARG_WITH(openssl-include, + [ --with-openssl-include=DIR OpenSSL headers directory (without trailing /openssl)], + [openssl_include="$withval" + CFLAGS="$CFLAGS -I$withval" + CPPFLAGS="$CPPFLAGS -I$withval"] + ) + + AC_ARG_WITH(openssl-lib, + [ --with-openssl-lib=DIR OpenSSL library directory], + [openssl_lib="$withval" + LIBS="$LIBS -L$withval"] + ) + + 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] + ) + + CPPFLAGS="$tinc_ac_save_CPPFLAGS" + + AC_CHECK_LIB(crypto, SHA1_version, + [LIBS="$LIBS -lcrypto"], + [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.])] + )] + ) ])