Build changes for Windows free-threaded builds · Issue #112984 · python/cpython · GitHub
Skip to content

Build changes for Windows free-threaded builds #112984

Description

@zooba

We should use a different $(IntDir) and $(OutDir) for free threaded builds so that it's faster to switch between them and so they can be built in parallel.

The output filename should be python{major}.{minor}t.exe and python{major}{minor}t.dll. Debug builds are python{major}.{minor}t_d.exe and python{major}{minor}t_d.dll.

The ABI tag becomes .cp{major}{minor}t-{plat}

All stdlib .pyd files get an ABI tag.

The python.bat is updated as normal (overwriting the last yesgil build).

The installer should not include a python.exe, to avoid causing PATH conflicts, but Nuget, embeddable and Store packages should include a copy/alias.

PEP 514 registration (a.k.a. sys.winver) should use {major}.{minor}t-{plat}.

Tests that rely on the executable name should use sys.executable wherever possible, and hopefully there's a support variable already for the rest.

All of these only take effect when $(DisableGil) == 'true' (which is set by build.bat --disable-gil, but the build variable is canonical).

Linked PRs

Activity

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

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions