| commit 18311d1be81d93350a406b641d501e3ced5a2662 |
| Author: joerg.sonnenberger <joerg.sonnenberger@2e22974a-a639-11dd-bc7a-dd6b2ed99ab5> |
| Date: Sun Feb 21 14:23:09 2010 +0000 |
| |
| Improve detection of SHA2 functions in OpenSSL to deal with ancient |
| versions like in Mac OS X and FreeBSD 6.x. Fixes #65 and should fix #55. |
| |
| |
| git-svn-id: http://libarchive.googlecode.com/svn/trunk@1940 2e22974a-a639-11dd-bc7a-dd6b2ed99ab5 |
| |
| diff --git a/configure.ac b/configure.ac |
| index 45960ad..921ed87 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -281,30 +281,34 @@ if test "x$with_openssl" != "xno"; then |
| AC_CHECK_HEADERS([openssl/sha.h]) |
| AC_SEARCH_LIBS([SHA1_Init], [crypto]) |
| fi |
| - if test "$ac_cv_func_SHA256Init" != "yes" || |
| - test "$ac_cv_func_SHA384Init" != "yes" || |
| - test "$ac_cv_func_SHA512Init" != "yes"; then |
| - if test "$ac_cv_func_SHA256_Init" != "yes" || |
| - test "$ac_cv_func_SHA384_Init" != "yes" || |
| - test "$ac_cv_func_SHA512_Init" != "yes"; then |
| - AC_CHECK_HEADERS([openssl/sha.h]) |
| - # TODO: Does AC_SEARCH_LIBS support more than one function at once? |
| - # This appears to always fail. |
| - AC_SEARCH_LIBS([SHA256_Init SHA384_Init SHA512_Init], [crypto]) |
| - |
| - # TODO: Actually test for these. Previously our C code did not |
| - # test for these at all and just assumed availability. Now that |
| - # the C code tests these macros we preserve previous behavior |
| - # for the autotools build by hard-coding availability. |
| - if test "$ac_cv_header_openssl_sha_h" = "yes"; then |
| + |
| + AC_CHECK_HEADERS([openssl/sha.h]) |
| + if test "$ac_cv_func_SHA256Init" != "yes" && |
| + test "$ac_cv_func_SHA256_Init" != "yes"; then |
| + AC_SEARCH_LIBS([SHA256_Init], [crypto]) |
| + if test "$ac_cv_func_SHA256_Init" = "yes" && |
| + test "$ac_cv_header_openssl_sha_h" = "yes"; then |
| AC_DEFINE(HAVE_OPENSSL_SHA256_INIT, 1, |
| [Define to 1 if your openssl has the `SHA256_Init' function.]) |
| + fi |
| + fi |
| + if test "$ac_cv_func_SHA384Init" != "yes" && |
| + test "$ac_cv_func_SHA384_Init" != "yes"; then |
| + AC_SEARCH_LIBS([SHA384_Init], [crypto]) |
| + if test "$ac_cv_func_SHA384_Init" = "yes" && |
| + test "$ac_cv_header_openssl_sha_h" = "yes"; then |
| AC_DEFINE(HAVE_OPENSSL_SHA384_INIT, 1, |
| [Define to 1 if your openssl has the `SHA384_Init' function.]) |
| + fi |
| + fi |
| + if test "$ac_cv_func_SHA512Init" != "yes" && |
| + test "$ac_cv_func_SHA512_Init" != "yes"; then |
| + AC_SEARCH_LIBS([SHA512_Init], [crypto]) |
| + if test "$ac_cv_func_SHA512_Init" = "yes" && |
| + test "$ac_cv_header_openssl_sha_h" = "yes"; then |
| AC_DEFINE(HAVE_OPENSSL_SHA512_INIT, 1, |
| [Define to 1 if your openssl has the `SHA512_Init' function.]) |
| fi |
| - fi |
| fi |
| fi |
| |