Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on #25889 - This allowed mpdecimal to build in shared mode on Windows with the default config (in 2.5.1+, which is used by CPython 3.10+), so now MSVC/all shared is no longer an invalid config in those versions. However, this now means that errors that weren't checked for before have popped up, so this PR fixes those.
See python/cpython@542f327 - my guess is that this is the commit that allowed openssl>=3, but I'm not certain (technically openssl 3 was already supported before this commit, so maybe it's elsewhere). If desired, we could probably add it (or the real support commit) as a patch, but for now I think it's fine to just restrict the versions. This only affects versions <3.12.
The libffi patches are not necessary in 3.11+, now that this is validated in CI I've removed them. See here for the relevant upstream change.
I also added a fix for Windows occasionally trying to fetch another Python version from NuGet in CCI, see #25536 (comment) for context.
Future TODO: Also want to remove the
shared
option where it just breaks.