Browse Source
[externals] Update zlib, httplib, and catch2 (#3449)
[externals] Update zlib, httplib, and catch2 (#3449)
whynot Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3449 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Lizzie <lizzie@eden-emu.dev>pull/3455/head
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
3 changed files with 30 additions and 20 deletions
@ -1,52 +1,62 @@ |
|||||
From e1a946ffb79022d38351a0623f819a5419965c3e Mon Sep 17 00:00:00 2001 |
|
||||
|
From 436fc1978c78edd085d99b33275b24be0ac96aa0 Mon Sep 17 00:00:00 2001 |
||||
From: crueter <crueter@eden-emu.dev> |
From: crueter <crueter@eden-emu.dev> |
||||
Date: Fri, 24 Oct 2025 23:41:09 -0700 |
|
||||
Subject: [PATCH] [build] Fix MinGW missing GetAddrInfoExCancel definition |
|
||||
|
Date: Sun, 1 Feb 2026 16:21:10 -0500 |
||||
|
Subject: [PATCH] Fix build on MinGW |
||||
|
|
||||
MinGW does not define GetAddrInfoExCancel in its wstcpi whatever header, |
|
||||
so to get around this we can just load it with GetProcAddress et al. |
|
||||
|
MinGW doesn't define GetAddrInfoExCancel. |
||||
|
|
||||
Signed-off-by: crueter <crueter@eden-emu.dev> |
Signed-off-by: crueter <crueter@eden-emu.dev> |
||||
---
|
---
|
||||
httplib.h | 14 ++++++++++++-- |
|
||||
1 file changed, 12 insertions(+), 2 deletions(-) |
|
||||
|
httplib.h | 18 ++++++++++++++++-- |
||||
|
1 file changed, 16 insertions(+), 2 deletions(-) |
||||
|
|
||||
diff --git a/httplib.h b/httplib.h
|
diff --git a/httplib.h b/httplib.h
|
||||
index e15ba44..90a76dc 100644
|
|
||||
|
index ec8d2a2..5f9a510 100644
|
||||
--- a/httplib.h
|
--- a/httplib.h
|
||||
+++ b/httplib.h
|
+++ b/httplib.h
|
||||
@@ -203,11 +203,13 @@
|
|
||||
|
@@ -203,14 +203,17 @@
|
||||
#error Sorry, Visual Studio versions prior to 2015 are not supported |
#error Sorry, Visual Studio versions prior to 2015 are not supported |
||||
#endif |
#endif |
||||
|
|
||||
-#pragma comment(lib, "ws2_32.lib")
|
-#pragma comment(lib, "ws2_32.lib")
|
||||
-
|
-
|
||||
|
#ifndef _SSIZE_T_DEFINED |
||||
using ssize_t = __int64; |
using ssize_t = __int64; |
||||
|
#define _SSIZE_T_DEFINED |
||||
|
#endif |
||||
#endif // _MSC_VER |
#endif // _MSC_VER |
||||
|
|
||||
+#if defined(_MSC_VER) || defined(__MINGW32__)
|
+#if defined(_MSC_VER) || defined(__MINGW32__)
|
||||
+#pragma comment(lib, "ws2_32.lib")
|
+#pragma comment(lib, "ws2_32.lib")
|
||||
+#endif
|
+#endif
|
||||
|
+
|
||||
+
|
+
|
||||
#ifndef S_ISREG |
#ifndef S_ISREG |
||||
#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG) |
#define S_ISREG(m) (((m) & S_IFREG) == S_IFREG) |
||||
#endif // S_ISREG |
#endif // S_ISREG |
||||
@@ -3557,7 +3559,15 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
|
|
||||
|
@@ -4528,7 +4531,17 @@ inline int getaddrinfo_with_timeout(const char *node, const char *service,
|
||||
auto wait_result = |
auto wait_result = |
||||
::WaitForSingleObject(event, static_cast<DWORD>(timeout_sec * 1000)); |
::WaitForSingleObject(event, static_cast<DWORD>(timeout_sec * 1000)); |
||||
if (wait_result == WAIT_TIMEOUT) { |
if (wait_result == WAIT_TIMEOUT) { |
||||
+#ifdef __MINGW32__
|
+#ifdef __MINGW32__
|
||||
+ typedef INT (WSAAPI *PFN_GETADDRINFOEXCANCEL)(HANDLE *CancelHandle);
|
|
||||
+ auto wsdll = LoadLibraryW((wchar_t*) "ws2_32.lib");
|
|
||||
+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel = (PFN_GETADDRINFOEXCANCEL) GetProcAddress(wsdll, "GetAddrInfoExCancel");
|
|
||||
|
+ typedef INT(WSAAPI * PFN_GETADDRINFOEXCANCEL)(HANDLE * CancelHandle);
|
||||
|
+ auto wsdll = LoadLibraryW((wchar_t *)"ws2_32.lib");
|
||||
|
+ PFN_GETADDRINFOEXCANCEL GetAddrInfoExCancel =
|
||||
|
+ (PFN_GETADDRINFOEXCANCEL)GetProcAddress(wsdll, "GetAddrInfoExCancel");
|
||||
+
|
+
|
||||
+ if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); }
|
+ if (cancel_handle) { GetAddrInfoExCancel(&cancel_handle); }
|
||||
+#else
|
+#else
|
||||
if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); } |
if (cancel_handle) { ::GetAddrInfoExCancel(&cancel_handle); } |
||||
+#endif
|
+#endif
|
||||
|
+
|
||||
::CloseHandle(event); |
::CloseHandle(event); |
||||
return EAI_AGAIN; |
return EAI_AGAIN; |
||||
} |
} |
||||
|
@@ -13952,3 +13965,4 @@ inline SSL_CTX *Client::ssl_context() const {
|
||||
|
} // namespace httplib |
||||
|
|
||||
|
#endif // CPPHTTPLIB_HTTPLIB_H |
||||
|
+
|
||||
--
|
--
|
||||
2.51.0 |
|
||||
|
2.51.2 |
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue