From: Michihiro NAKAJIMA Date: Thu, 4 Oct 2012 03:12:22 +0000 (+0900) Subject: Make configure detect ARCHIVE_CRYPTO_*_WIN on mingw. X-Git-Tag: v3.1.0~40^2~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=275000dfda9ef9e7b22a31aad0c46d7c8b98d294;p=thirdparty%2Flibarchive.git Make configure detect ARCHIVE_CRYPTO_*_WIN on mingw. --- diff --git a/configure.ac b/configure.ac index ce356eef8..64e09a5af 100644 --- a/configure.ac +++ b/configure.ac @@ -593,23 +593,61 @@ main(int argc, char **argv) fi ]) -CRYPTO_CHECK(MD5, LIBC, md5) -CRYPTO_CHECK(MD5, LIBSYSTEM, md5) -CRYPTO_CHECK(RMD160, LIBC, rmd160) -CRYPTO_CHECK(SHA1, LIBC, sha1) -CRYPTO_CHECK(SHA1, LIBSYSTEM, sha1) -CRYPTO_CHECK(SHA256, LIBC, sha256) -CRYPTO_CHECK(SHA256, LIBC2, sha256) -CRYPTO_CHECK(SHA256, LIBC3, sha256) -CRYPTO_CHECK(SHA256, LIBSYSTEM, sha256) -CRYPTO_CHECK(SHA384, LIBC, sha384) -CRYPTO_CHECK(SHA384, LIBC2, sha384) -CRYPTO_CHECK(SHA384, LIBC3, sha384) -CRYPTO_CHECK(SHA384, LIBSYSTEM, sha384) -CRYPTO_CHECK(SHA512, LIBC, sha512) -CRYPTO_CHECK(SHA512, LIBC2, sha512) -CRYPTO_CHECK(SHA512, LIBC3, sha512) -CRYPTO_CHECK(SHA512, LIBSYSTEM, sha512) +AC_DEFUN([CRYPTO_CHECK_WIN], [ + if test "$found_$1" != yes; then + AC_MSG_CHECKING([support for ARCHIVE_CRYPTO_$1_WIN]) + AC_LINK_IFELSE([AC_LANG_SOURCE([ +#define _WIN32_WINNT 0x0500 +#define WINVER 0x0500 +#define ARCHIVE_$1_COMPILE_TEST +#include +#include + +int +main(int argc, char **argv) +{ + (void)argc; + (void)argv; + + return ($2); +} +])], + [ AC_MSG_RESULT([yes]) + found_$1=yes + AC_DEFINE(ARCHIVE_CRYPTO_$1_WIN, 1, [ $1 via ARCHIVE_CRYPTO_$1_WIN supported.]) + ], + [ AC_MSG_RESULT([no])]) + fi +]) + +case "$host_os" in + *mingw* ) + CRYPTO_CHECK_WIN(MD5, CALG_MD5) + CRYPTO_CHECK_WIN(SHA1, CALG_SHA1) + CRYPTO_CHECK_WIN(SHA256, CALG_SHA_256) + CRYPTO_CHECK_WIN(SHA384, CALG_SHA_384) + CRYPTO_CHECK_WIN(SHA512, CALG_SHA_512) + ;; + *) + CRYPTO_CHECK(MD5, LIBC, md5) + CRYPTO_CHECK(MD5, LIBSYSTEM, md5) + CRYPTO_CHECK(RMD160, LIBC, rmd160) + CRYPTO_CHECK(SHA1, LIBC, sha1) + CRYPTO_CHECK(SHA1, LIBSYSTEM, sha1) + CRYPTO_CHECK(SHA256, LIBC, sha256) + CRYPTO_CHECK(SHA256, LIBC2, sha256) + CRYPTO_CHECK(SHA256, LIBC3, sha256) + CRYPTO_CHECK(SHA256, LIBSYSTEM, sha256) + CRYPTO_CHECK(SHA384, LIBC, sha384) + CRYPTO_CHECK(SHA384, LIBC2, sha384) + CRYPTO_CHECK(SHA384, LIBC3, sha384) + CRYPTO_CHECK(SHA384, LIBSYSTEM, sha384) + CRYPTO_CHECK(SHA512, LIBC, sha512) + CRYPTO_CHECK(SHA512, LIBC2, sha512) + CRYPTO_CHECK(SHA512, LIBC3, sha512) + CRYPTO_CHECK(SHA512, LIBSYSTEM, sha512) + ;; +esac if test "x$with_nettle" != "xno"; then CRYPTO_CHECK(MD5, NETTLE, md5, -lnettle)