diff options
author | Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> | 2017-10-02 06:13:45 +0300 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2017-10-16 21:50:17 +0300 |
commit | 7dc5f21c7ca88e6c19d34dc1933eddef190add7a (patch) | |
tree | 6d1a6100954abbc7908320972c2b162d91b3d3aa /m4 | |
parent | 209c3a2e255de7aa82c4f08f8abb41c04bb3d86d (diff) |
m4: move openssl check to common place
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>
Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'm4')
-rw-r--r-- | m4/odp_openssl.m4 | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/m4/odp_openssl.m4 b/m4/odp_openssl.m4 new file mode 100644 index 000000000..72568a8ae --- /dev/null +++ b/m4/odp_openssl.m4 @@ -0,0 +1,60 @@ +# ODP_OPENSSL([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ----------------------------------------------------- +AC_DEFUN([ODP_OPENSSL], +[dnl +AC_ARG_VAR([OPENSSL_CPPFLAGS], [C preprocessor flags for OpenSSL]) +AC_ARG_VAR([OPENSSL_LIBS], [linker flags for OpenSSL crypto library]) +AC_ARG_VAR([OPENSSL_STATIC_LIBS], [static linker flags for OpenSSL crypto library]) + +########################################################################## +# Set optional OpenSSL path +########################################################################## +AC_ARG_WITH([openssl-path], +[AC_HELP_STRING([--with-openssl-path=DIR], + [path to openssl libs and headers (use system path if not provided)])], +[OPENSSL_CPPFLAGS="-I$withval/include" +OPENSSL_LIBS="-L$withval/lib -lcrypto"], +[if test "x$ac_cv_env_OPENSSL_LIBS_set" != "xset" ; then + OPENSSL_LIBS="-lcrypto" +fi]) +if test "x$ac_cv_env_OPENSSL_STATIC_LIBS_set" != "xset" ; then + OPENSSL_STATIC_LIBS="$OPENSSL_LIBS -ldl" +fi + +########################################################################## +# Save and set temporary compilation flags +########################################################################## +OLD_CPPFLAGS=$CPPFLAGS +OLD_LIBS=$LIBS +CPPFLAGS="$OPENSSL_CPPFLAGS $CPPFLAGS" +LIBS="$OPENSSL_LIBS $LIBS" + +########################################################################## +# Check for OpenSSL availability +########################################################################## +odp_openssl_ok=yes +AC_CHECK_HEADERS([openssl/des.h openssl/rand.h openssl/hmac.h openssl/evp.h], [], + [odp_openssl_ok=no]) +AC_CACHE_CHECK([for EVP_EncryptInit in -lcrypto], [odp_cv_openssl_crypto], +[AC_LINK_IFELSE([AC_LANG_CALL([], [EVP_EncryptInit])], + [odp_cv_openssl_crypto=yes], + [odp_cv_openssl_crypto=no])]) +if test "x$odp_cv_openssl_crypto" != "xyes" ; then + odp_openssl_ok=no +fi + +if test "x$odp_openssl_ok" = "xyes" ; then + m4_default([$1], [:]) +else + OPENSSL_CPPFLAGS="" + OPENSSL_LIBS="" + OPENSSL_STATIC_LIBS="" + m4_default([$2], [AC_MSG_FAILURE([OpenSSL not found])]) +fi + +########################################################################## +# Restore old saved variables +########################################################################## +LIBS=$OLD_LIBS +CPPFLAGS=$OLD_CPPFLAGS +]) # ODP_OPENSSL |