include/openssl: don't include <windows.h> in public headers.
If application uses any of Windows-specific interfaces, make it
application developer's respondibility to include <windows.h>.
Rationale is that <windows.h> is quite "toxic" and is sensitive
to inclusion order (most notably in relation to <winsock2.h>).
It's only natural to give complete control to the application developer.
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
diff --git a/engines/e_dasync.c b/engines/e_dasync.c
index ed3f00a..89b1277 100644
--- a/engines/e_dasync.c
+++ b/engines/e_dasync.c
@@ -7,6 +7,10 @@
* https://www.openssl.org/source/license.html
*/
+#if defined(_WIN32)
+# include <windows.h>
+#endif
+
#include <stdio.h>
#include <string.h>
@@ -28,7 +32,6 @@
#elif defined(_WIN32)
# undef ASYNC_WIN
# define ASYNC_WIN
-# include <windows.h>
#endif
#define DASYNC_LIB_NAME "DASYNC"