build: drop support for VS2008 (Windows)
No binary (build failed)
—
(log yok)
| @@ -53,11 +53,7 @@ else() | |
| if(MSVC) | |
| set(HAVE_UNISTD_H 0) | |
| set(HAVE_STDDEF_H 1) # detected by CMake internally in check_type_size() | |
| - | if(MSVC_VERSION GREATER_EQUAL 1600) |
| - | set(HAVE_STDINT_H 1) # detected by CMake internally in check_type_size() |
| - | else() |
| - | set(HAVE_STDINT_H 0) # detected by CMake internally in check_type_size() |
| - | endif() |
| + | set(HAVE_STDINT_H 1) # detected by CMake internally in check_type_size() |
| if(MSVC_VERSION GREATER_EQUAL 1800) | |
| set(HAVE_STDBOOL_H 1) | |
| else() | |
| @@ -12,17 +12,6 @@ email the | |
| as soon as possible and explain to us why this is a problem for you and | |
| how your use case cannot be satisfied properly using a workaround. | |
| - | ## VS2008 |
| - | |
| - | curl drops support for getting built with Microsoft Visual Studio 2008 in |
| - | November 2025. |
| - | |
| - | The only reason we kept support for this version is for Windows CE - and we |
| - | intend to remove support for that Operating System in this time frame as well. |
| - | Bumping the minimum to VS2010. VS2008 is a pain to support. |
| - | |
| - | Previous discussion and details: https://github.com/curl/curl/discussions/15972 |
| - | |
| ## Windows XP | |
| In January 2026, curl drops support for Windows XP and Server 2003. Their | |
| @@ -94,3 +83,4 @@ Support for RTMP in libcurl gets removed in April 2026. | |
| - msh3 (removed in 8.16.0) | |
| - winbuild build system (removed in 8.17.0) | |
| - Windows CE (removed in 8.18.0) | |
| + | - Support for Visual Studio 2008 (removed in 8.18.0) |
| @@ -200,7 +200,7 @@ Building for Windows XP is required as a minimum. | |
| You can build curl with: | |
| - | - Microsoft Visual Studio 2008 v9.0 or later (`_MSC_VER >= 1500`) |
| + | - Microsoft Visual Studio 2010 v10.0 or later (`_MSC_VER >= 1600`) |
| - MinGW-w64 3.0 or later (`__MINGW64_VERSION_MAJOR >= 3`) | |
| ## Building Windows DLLs and C runtime (CRT) linkage issues | |
| @@ -56,22 +56,21 @@ | |
| # error VS2012 does not support build targets prior to Windows Vista | |
| # endif | |
| # endif | |
| - | /* Default target settings and minimum build target check for |
| - | VS2008 and VS2010 */ |
| + | /* VS2010 default target settings and minimum build target check. */ |
| # else | |
| - | # define VS2008_MIN_TARGET 0x0501 /* XP */ |
| - | /* VS2008 default build target is Windows Vista (0x0600). |
| + | /* VS2010 default build target is Windows 7 (0x0601). |
| We override default target to be Windows XP. */ | |
| - | # define VS2008_DEF_TARGET 0x0501 /* XP */ |
| + | # define VS2010_MIN_TARGET 0x0501 /* XP */ |
| + | # define VS2010_DEF_TARGET 0x0501 /* XP */ |
| # ifndef _WIN32_WINNT | |
| - | # define _WIN32_WINNT VS2008_DEF_TARGET |
| + | # define _WIN32_WINNT VS2010_DEF_TARGET |
| # endif | |
| # ifndef WINVER | |
| - | # define WINVER VS2008_DEF_TARGET |
| + | # define WINVER VS2010_DEF_TARGET |
| # endif | |
| - | # if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET) |
| - | # error VS2008 does not support build targets prior to Windows XP |
| + | # if (_WIN32_WINNT < VS2010_MIN_TARGET) || (WINVER < VS2010_MIN_TARGET) |
| + | # error VS2010 does not support build targets prior to Windows XP |
| # endif | |
| # endif | |
| #endif /* _MSC_VER */ | |
| @@ -104,7 +103,7 @@ | |
| #endif | |
| /* Define to 1 if you have the <stdint.h> header file. */ | |
| - | #if (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(__MINGW32__) |
| + | #if defined(_MSC_VER) || defined(__MINGW32__) |
| #define HAVE_STDINT_H 1 | |
| #endif | |
| @@ -80,9 +80,9 @@ | |
| #error "Building curl requires mingw-w64 3.0 or later" | |
| #endif | |
| - | /* Visual Studio 2008 is the minimum Visual Studio version we support. |
| + | /* Visual Studio 2010 is the minimum Visual Studio version we support. |
| Workarounds for older versions of Visual Studio have been removed. */ | |
| - | #if defined(_MSC_VER) && (_MSC_VER < 1500) |
| + | #if defined(_MSC_VER) && (_MSC_VER < 1600) |
| #error "Ancient versions of Visual Studio are no longer supported due to bugs." | |
| #endif | |
| @@ -65,8 +65,6 @@ | |
| Use it for APIs that do not or cannot support the const qualifier. */ | |
| #ifdef HAVE_STDINT_H | |
| # define CURL_UNCONST(p) ((void *)(uintptr_t)(const void *)(p)) | |
| - | #elif defined(_WIN32) /* for VS2008 */ |
| - | # define CURL_UNCONST(p) ((void *)(ULONG_PTR)(const void *)(p)) |
| #else | |
| # define CURL_UNCONST(p) ((void *)(p)) /* Fall back to simple cast */ | |
| #endif | |
| @@ -50,10 +50,6 @@ | |
| # include <bcrypt.h> | |
| # ifdef _MSC_VER | |
| # pragma comment(lib, "bcrypt.lib") | |
| - | # endif |
| - | /* Offered by mingw-w64 v3+. MS SDK v7.0A+. */ |
| - | # ifndef BCRYPT_USE_SYSTEM_PREFERRED_RNG |
| - | # define BCRYPT_USE_SYSTEM_PREFERRED_RNG 0x00000002 |
| # endif | |
| # ifndef STATUS_SUCCESS | |
| # define STATUS_SUCCESS ((NTSTATUS)0x00000000L) | |
| @@ -31,7 +31,7 @@ | |
| #include "vtls.h" | |
| #include "../curl_sha256.h" | |
| - | #if defined(_MSC_VER) && (_MSC_VER <= 1600) |
| + | #if defined(_MSC_VER) && (_MSC_VER < 1700) |
| /* Workaround for warning: | |
| 'type cast' : conversion from 'int' to 'LPCSTR' of greater size */ | |
| #undef CERT_STORE_PROV_MEMORY | |
| @@ -36,17 +36,6 @@ | |
| #include "../curl_memory.h" | |
| #include "../memdebug.h" | |
| - | #ifdef _MSC_VER |
| - | #if _MSC_VER >= 1600 |
| - | #include <stdint.h> |
| - | #else |
| - | typedef unsigned char uint8_t; |
| - | typedef unsigned __int16 uint16_t; |
| - | typedef unsigned __int32 uint32_t; |
| - | typedef unsigned __int64 uint64_t; |
| - | #endif |
| - | #endif /* _MSC_VER */ |
| - | |
| #ifndef UINT16_MAX | |
| #define UINT16_MAX 0xffff | |
| #endif | |