Skip to content

config-win32.h: limit use to MSVC IDE Project builds - #22595

Closed
vszakats wants to merge 10 commits into
curl:masterfrom
vszakats:w-config-h-limit-to-msvc
Closed

vszakats wants to merge 10 commits into
curl:masterfrom
vszakats:w-config-h-limit-to-msvc

Conversation

@vszakats

@vszakats vszakats commented Aug 15, 2026

Copy link
Copy Markdown
Member

This is the only purpose it's maintained for.

Drop mingw-w64 and other logic falling outside of VS2010-2013 needs.

mingw-w64/MSVC platform differences keep being maintained/documented as
part of the CMake pre-fill logic in CMake/win32-cache.cmake.

Follow-up to ba8752e #12224

@vszakats vszakats changed the title config-win32.h: limit use for MSVC IDE Projects config-win32.h: limit use for MSVC IDE Project builds Aug 15, 2026
@github-actions github-actions Bot added the Windows Windows-specific label Aug 15, 2026
@vszakats vszakats changed the title config-win32.h: limit use for MSVC IDE Project builds config-win32.h: limit use to MSVC IDE Project builds Aug 15, 2026
@vszakats vszakats added the build label Aug 15, 2026
@vszakats
vszakats requested a balanced review from Copilot August 15, 2026 14:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Limits config-win32.h to legacy Visual Studio IDE projects.

Changes:

  • Restricts configuration to MSVC 2010–2013.
  • Removes MinGW-specific configuration.
  • Simplifies Windows feature and type definitions.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread lib/config-win32.h
AFAICT Itanium was last supported in VS2008.
ARMs only worked for Windows CE, and ARM64 requires VS2017.
@vszakats vszakats closed this in 1db93bd Aug 16, 2026
@vszakats
vszakats deleted the w-config-h-limit-to-msvc branch August 16, 2026 08:08
vszakats added a commit that referenced this pull request Aug 18, 2026
UWP requires VS2015+. Project files have no support for c-ares.
Drop redundant guard, merge `#if` blocks.

Follow-up to 1db93bd #22595

Closes #22613
Comment thread lib/config-win32.h
@Zenju

Zenju commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Just to add some datapoint, lest someone thinks "hey, let's remove this unused file.....who uses MSVC 2013 anway"

I don't like this change:

#if !defined(_MSC_VER) || _MSC_VER > 1800
#error This manual configuration requires MSVC 2010-2013 (IDE Project builds)
#endif

because I'm using config-win32.h with the latest Visual Studio 2026 (_MSC_VER = 1951) by maintaining my own "curl.vcxproj" file. Adding/removing the changed source files for every curl release is no big deal and is much less hustle than generating a .vcxproj using CMAKE and then changing all the improper VS settings to make it fit into my FreeFileSync solution.

@vszakats

vszakats commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

Just to add some datapoint, lest someone thinks "hey, let's remove this unused file.....who uses MSVC 2013 anway"

I don't like this change:

#if !defined(_MSC_VER) || _MSC_VER > 1800
#error This manual configuration requires MSVC 2010-2013 (IDE Project builds)
#endif

because I'm using config-win32.h with the latest Visual Studio 2026 (_MSC_VER = 1951) by maintaining my own "curl.vcxproj" file. Adding/removing the changed source files for every curl release is no big deal and is much less hustle than generating a .vcxproj using CMAKE and then changing all the improper VS settings to make it fit into my FreeFileSync solution.

Why is it a hassle to run CMake configure after each curl release?

@Zenju

Zenju commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Nothing against CMAKE, but it's not the tool for me. I find working inside Visual Studio a better fit for Windows development with highly-customized "vcxproj" files. The CMAKE generated project files are of no use . For Linux/macOS OTOH, "make" is fine and works great.

@vszakats

vszakats commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

Nothing against CMAKE, but it's not the tool for me. I find working inside Visual Studio a better fit for Windows development with highly-customized "vcxproj" files. The CMAKE generated project files are of no use . For Linux/macOS OTOH, "make" is fine and works great.

For Windows and CMake there is also Ninja. If it fits or not depends on
what you mean by "highly-customized", or other needs. You can probably
supply a manual config by setting HAVE_CONFIG_H and provide a
curl_config.h, but curl isn't aiming to maintain one manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

5 participants