curl requires Windows XP since 2023. Drop version detection code using `GetVersionEx()` aimed to support earlier Windows versions. With that call deleted, the embedded manifest in `curl.rc` becomes unnecessary. Delete it too, along with the enabler logic in build systems. This allows to stop forcing `/MANIFEST:NO` for MSVC builds. Dropping it fixes VS2008 shared builds, that require an auto-generated SxS (side-by-side assembly) manifest to find their CRT DLLs. This was the issue that prevented VS2008 `curl.exe` launching on AppVeyor CI: ``` src/curl.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory ``` Ref: https://ci.appveyor.com/project/curlorg/curl/builds/51577006/job/eitypvwlb1rxr11d#L261 FWIW the `curl.rc` embedded manifest wasn't ever enabled for VS2008 CI builds either, because CMake did not pass our custom macro via `CMAKE_RC_FLAGS` to `rc.exe`. For reasons I could not figure out. After this patch the curl build no longer inject its own manifest, and lets the default be applied by linkers and toolchains. It fixes VS2008 shared builds. curl continues to detect the real Windows version via `RtlVerifyVersionInfo()` from `ntdll`. Follow-up to960d601481#12225 Follow-up to5044909ca2#7810 Follow-up toebd213270a#1221 Ref: #15972 Cherry-picked from #16394 Closes #16453
66 lines
2.1 KiB
Plaintext
66 lines
2.1 KiB
Plaintext
/***************************************************************************
|
|
* _ _ ____ _
|
|
* Project ___| | | | _ \| |
|
|
* / __| | | | |_) | |
|
|
* | (__| |_| | _ <| |___
|
|
* \___|\___/|_| \_\_____|
|
|
*
|
|
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
*
|
|
* This software is licensed as described in the file COPYING, which
|
|
* you should have received as part of this distribution. The terms
|
|
* are also available at https://curl.se/docs/copyright.html.
|
|
*
|
|
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
* copies of the Software, and permit persons to whom the Software is
|
|
* furnished to do so, under the terms of the COPYING file.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
* SPDX-License-Identifier: curl
|
|
*
|
|
***************************************************************************/
|
|
#include <winver.h>
|
|
#include "tool_version.h"
|
|
|
|
LANGUAGE 0, 0
|
|
|
|
#define RC_VERSION CURL_VERSION_MAJOR, CURL_VERSION_MINOR, CURL_VERSION_PATCH, 0
|
|
|
|
VS_VERSION_INFO VERSIONINFO
|
|
FILEVERSION RC_VERSION
|
|
PRODUCTVERSION RC_VERSION
|
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
#if defined(DEBUGBUILD) || defined(UNITTESTS) || defined(CURLDEBUG) || defined(_DEBUG)
|
|
FILEFLAGS VS_FF_DEBUG
|
|
#else
|
|
FILEFLAGS 0L
|
|
#endif
|
|
FILEOS VOS__WINDOWS32
|
|
FILETYPE VFT_APP
|
|
FILESUBTYPE 0L
|
|
|
|
BEGIN
|
|
BLOCK "StringFileInfo"
|
|
BEGIN
|
|
BLOCK "040904b0"
|
|
BEGIN
|
|
VALUE "CompanyName", "curl, https://curl.se/\0"
|
|
VALUE "FileDescription", "The curl executable\0"
|
|
VALUE "FileVersion", CURL_VERSION "\0"
|
|
VALUE "InternalName", "curl\0"
|
|
VALUE "OriginalFilename", "curl.exe\0"
|
|
VALUE "ProductName", "The curl executable\0"
|
|
VALUE "ProductVersion", CURL_VERSION "\0"
|
|
VALUE "LegalCopyright", "Copyright (C) " CURL_COPYRIGHT "\0"
|
|
VALUE "License", "https://curl.se/docs/copyright.html\0"
|
|
END
|
|
END
|
|
|
|
BLOCK "VarFileInfo"
|
|
BEGIN
|
|
VALUE "Translation", 0x409, 1200
|
|
END
|
|
END
|