-
-
Notifications
You must be signed in to change notification settings - Fork 33.2k
Description
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).