1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
dnl Functions for wincrypt
dnl
dnl Version: 20160802
dnl Function to detect whether a certain #define is present in a certain WINAPI header
AC_DEFUN([AX_WINCRYPT_CHECK_WINAPI_DEFINE],
[AC_CACHE_CHECK(
[whether $1 defines $2],
[ac_cv_winapi_define_$2],
[AC_LANG_PUSH(C)
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#include <windows.h>
#include <$1>
#if !defined( $2 )
#error $2 is not defined
#endif]]
[[]] )],
[ac_cv_winapi_define_$2=yes],
[ac_cv_winapi_define_$2=no])
AC_LANG_POP(C)
])
])
dnl Function to detect if wincrypt functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_LIB],
[AS_IF(
[test "x$ac_cv_enable_winapi" != xyes],
[ac_cv_wincrypt=no],
[AC_CHECK_HEADERS(
[wincrypt.h],
[],
[],
[#include <windows.h>])
AS_IF(
[test "x$ac_cv_header_wincrypt" = xno],
[ac_cv_wincrypt=no],
[AC_SUBST(
[LIBCRYPTO_LIBADD],
[-ladvapi32])
ac_cv_wincrypt=libadvapi32])
])
AM_CONDITIONAL(
[HAVE_WINCRYPT],
[test "x$ac_cv_wincrypt" != xno])
])
dnl Function to detect if wincrypt MD5 functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_MD5],
[AX_WINCRYPT_CHECK_WINAPI_DEFINE(
[wincrypt.h],
[CALG_MD5])
AS_IF(
[test "x$ac_cv_winapi_define_CALG_MD5" = xyes],
[ac_cv_wincrypt_md5=libadvapi32],
[ac_cv_wincrypt_md5=local])
])
dnl Function to detect if wincrypt SHA1 functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_SHA1],
[AX_WINCRYPT_CHECK_WINAPI_DEFINE(
[wincrypt.h],
[CALG_SHA1])
AS_IF(
[test "x$ac_cv_winapi_define_CALG_SHA1" = xyes],
[ac_cv_wincrypt_sha1=libadvapi32],
[ac_cv_wincrypt_sha1=local])
])
dnl Function to detect if wincrypt SHA224 functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_SHA224],
[AX_WINCRYPT_CHECK_WINAPI_DEFINE(
[wincrypt.h],
[CALG_SHA_224])
AS_IF(
[test "x$ac_cv_winapi_define_CALG_SHA_224" = xyes],
[ac_cv_wincrypt_sha224=libadvapi32],
[ac_cv_wincrypt_sha224=local])
])
dnl Function to detect if wincrypt SHA256 functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_SHA256],
[AX_WINCRYPT_CHECK_WINAPI_DEFINE(
[wincrypt.h],
[CALG_SHA_256])
AS_IF(
[test "x$ac_cv_winapi_define_CALG_SHA_256" = xyes],
[ac_cv_wincrypt_sha256=libadvapi32],
[ac_cv_wincrypt_sha256=local])
])
dnl Function to detect if wincrypt SHA512 functions are available
AC_DEFUN([AX_WINCRYPT_CHECK_SHA512],
[AX_WINCRYPT_CHECK_WINAPI_DEFINE(
[wincrypt.h],
[CALG_SHA_512])
AS_IF(
[test "x$ac_cv_winapi_define_CALG_SHA_512" = xyes],
[ac_cv_wincrypt_sha512=libadvapi32],
[ac_cv_wincrypt_sha512=local])
])
|