summaryrefslogtreecommitdiff
path: root/thirdparty/openssl/patches/config_windows.patch
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2017-05-27 16:38:46 +0200
committerRémi Verschelde <rverschelde@gmail.com>2017-05-27 19:08:03 +0200
commitc1b0662b40c8239731af13a96bac1b2db1c2097d (patch)
tree0f5b1e74fa201cf47990d72b22d4be114139db3e /thirdparty/openssl/patches/config_windows.patch
parentcb0f771aaacf367e5026d783c9316b6acf3b007d (diff)
openssl: Define WIN32_LEAN_AND_MEAN on Windows
This avoids namespace collisions with things such as X509_NAME. Also force include of necessary definitions in `crypto/o_str.c` which seem missing on MSVC (but work on MinGW).
Diffstat (limited to 'thirdparty/openssl/patches/config_windows.patch')
-rw-r--r--thirdparty/openssl/patches/config_windows.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/thirdparty/openssl/patches/config_windows.patch b/thirdparty/openssl/patches/config_windows.patch
new file mode 100644
index 0000000000..e69ff1356a
--- /dev/null
+++ b/thirdparty/openssl/patches/config_windows.patch
@@ -0,0 +1,49 @@
+commit 4c8ab8b4415d129d0283d7d0d9a5789163ec8d5e
+Author: Rémi Verschelde <rverschelde@gmail.com>
+Date: Sat May 27 16:38:46 2017 +0200
+
+ openssl: Define WIN32_LEAN_AND_MEAN on Windows
+
+ This avoids namespace collisions with things such as X509_NAME.
+ Also force include of necessary definitions in `crypto/o_str.c`
+ which seem missing on MSVC (but work on MinGW).
+
+diff --git a/thirdparty/openssl/crypto/o_str.c b/thirdparty/openssl/crypto/o_str.c
+index 7e61cde85..1854798e2 100644
+--- a/thirdparty/openssl/crypto/o_str.c
++++ b/thirdparty/openssl/crypto/o_str.c
+@@ -59,6 +59,9 @@
+
+ #include <ctype.h>
+ #include <e_os.h>
++// -- GODOT start --
++#include <openssl/opensslconf.h>
++// -- GODOT end --
+ #include "o_str.h"
+
+ #if !defined(OPENSSL_IMPLEMENTS_strncasecmp) && \
+diff --git a/thirdparty/openssl/openssl/opensslconf.h b/thirdparty/openssl/openssl/opensslconf.h
+index f533508b1..19fad2342 100644
+--- a/thirdparty/openssl/openssl/opensslconf.h
++++ b/thirdparty/openssl/openssl/opensslconf.h
+@@ -7,6 +7,20 @@ extern "C" {
+ /* OpenSSL was configured with the following options: */
+ #ifndef OPENSSL_DOING_MAKEDEPEND
+
++// -- GODOT start --
++#if defined(OPENSSL_SYS_WINDOWS)
++# define WIN32_LEAN_AND_MEAN
++// Seems like we have troubles properly using the logic in e_os2.h
++# if defined(_WIN32)
++# define OPENSSL_SYS_WIN32
++# define OPENSSL_SYSNAME_WIN32
++# endif
++# if defined(_WIN64)
++# define OPENSSL_SYS_WIN64
++# define OPENSSL_SYSNAME_WIN64
++# endif
++#endif
++// -- GODOT end --
+
+ #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
+ # define OPENSSL_NO_EC_NISTP_64_GCC_128