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).