If OPENSSL_BUILD_SHLIBCRYPTO (for files that end up as libcrypto
objects) or OPENSSL_BUILD_SHLIBSSL (for files that end up as libssl
objects) is defined, redefine OPENSSL_EXTERN to be OPENSSL_EXPORT.
This is actually only important on Win32, and can safely be ignored in
all other cases, at least for now.
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h
index 01ff01d..58bcd1b 100644
--- a/ssl/ssl_locl.h
+++ b/ssl/ssl_locl.h
@@ -128,6 +128,11 @@
 #include <openssl/err.h>
 #include <openssl/ssl.h>
 
+#ifdef OPENSSL_BUILD_SHLIBSSL
+# undef OPENSSL_EXTERN
+# define OPENSSL_EXTERN OPENSSL_EXPORT
+#endif
+
 #define PKCS1_CHECK
 
 #define c2l(c,l)	(l = ((unsigned long)(*((c)++)))     , \