From cefdd26d62e01878b8e8acbb78a8fcc477a63fd9 Mon Sep 17 00:00:00 2001 From: dartraiden Date: Thu, 12 Dec 2024 09:52:45 +0300 Subject: libcurl: update to 8.11.1 --- libs/libcurl/src/curl_setup.h | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'libs/libcurl/src/curl_setup.h') diff --git a/libs/libcurl/src/curl_setup.h b/libs/libcurl/src/curl_setup.h index dc4a4553aa..7c057097ec 100644 --- a/libs/libcurl/src/curl_setup.h +++ b/libs/libcurl/src/curl_setup.h @@ -43,7 +43,7 @@ #include <_mingw.h> #endif -/* Workaround for Homebrew gcc 12.4.0, 13.3.0, 14.1.0 and newer (as of 14.1.0) +/* Workaround for Homebrew gcc 12.4.0, 13.3.0, 14.1.0, 14.2.0 (initial build) that started advertising the `availability` attribute, which then gets used by Apple SDK, but, in a way incompatible with gcc, resulting in misc errors inside SDK headers, e.g.: @@ -51,13 +51,16 @@ definition error: expected ',' or '}' before Followed by missing declarations. - Fix it by overriding the built-in feature-check macro used by the headers - to enable the problematic attributes. This makes the feature check fail. */ -#if defined(__APPLE__) && \ - !defined(__clang__) && \ - defined(__GNUC__) && __GNUC__ >= 12 && \ + Work it around by overriding the built-in feature-check macro used by the + headers to enable the problematic attributes. This makes the feature check + fail. Fixed in 14.2.0_1. Disable the workaround if the fix is detected. */ +#if defined(__APPLE__) && !defined(__clang__) && defined(__GNUC__) && \ defined(__has_attribute) -#define availability curl_pp_attribute_disabled +# if !defined(__has_feature) +# define availability curl_pp_attribute_disabled +# elif !__has_feature(attribute_availability) +# define availability curl_pp_attribute_disabled +# endif #endif #if defined(__APPLE__) @@ -102,6 +105,16 @@ # ifndef NOGDI # define NOGDI # endif +/* Detect Windows App environment which has a restricted access + * to the Win32 APIs. */ +# if (defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0602)) || \ + defined(WINAPI_FAMILY) +# include +# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && \ + !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +# define CURL_WINDOWS_UWP +# endif +# endif #endif /* Compatibility */ @@ -277,6 +290,14 @@ # define CURL_DISABLE_HTTP_AUTH 1 #endif +/* + * ECH requires HTTPSRR. + */ + +#if defined(USE_ECH) && !defined(USE_HTTPSRR) +# define USE_HTTPSRR +#endif + /* ================================================================ */ /* No system header file shall be included in this file before this */ /* point. */ @@ -444,6 +465,12 @@ #include #endif +#ifdef _WIN32 +#define Curl_getpid() GetCurrentProcessId() +#else +#define Curl_getpid() getpid() +#endif + /* * Large file (>2Gb) support using Win32 functions. */ -- cgit v1.2.3