summaryrefslogtreecommitdiffstats
path: root/engines
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2010-11-18 22:56:53 +0000
committerDr. Stephen Henson <steve@openssl.org>2010-11-18 22:56:53 +0000
commitc55551ad7c5635e78222eaad5cfe7fd87849e9b6 (patch)
treec40c33089fc76c4c1c78e53ae8976c82ebd774d5 /engines
parentc91b52111144310e3db110aef10080edea1b1a2a (diff)
PR: 2374
Submitted by: Guenter <lists@gknw.net> Reviewed by: steve Don't compile capi ENGINE on mingw32
Diffstat (limited to 'engines')
-rw-r--r--engines/e_capi.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/e_capi.c b/engines/e_capi.c
index e2a7cb58b0..5871491fd6 100644
--- a/engines/e_capi.c
+++ b/engines/e_capi.c
@@ -76,10 +76,16 @@
* CertGetCertificateContextProperty. CERT_KEY_PROV_INFO_PROP_ID is
* one of possible values you can pass to function in question. By
* checking if it's defined we can see if wincrypt.h and accompanying
- * crypt32.lib are in shape. Yes, it's rather "weak" test and if
- * compilation fails, then re-configure with -DOPENSSL_NO_CAPIENG.
+ * crypt32.lib are in shape. The native MingW32 headers up to and
+ * including __W32API_VERSION 3.14 lack of struct DSSPUBKEY and the
+ * defines CERT_STORE_PROV_SYSTEM_A and CERT_STORE_READONLY_FLAG,
+ * so we check for these too and avoid compiling.
+ * Yes, it's rather "weak" test and if compilation fails,
+ * then re-configure with -DOPENSSL_NO_CAPIENG.
*/
-#ifdef CERT_KEY_PROV_INFO_PROP_ID
+#if defined(CERT_KEY_PROV_INFO_PROP_ID) && \
+ defined(CERT_STORE_PROV_SYSTEM_A) && \
+ defined(CERT_STORE_READONLY_FLAG)
# define __COMPILE_CAPIENG
#endif /* CERT_KEY_PROV_INFO_PROP_ID */
#endif /* OPENSSL_NO_CAPIENG */