@@ -845,6 +845,7 @@ def run_msbuild(
845
845
platform : str ,
846
846
python_version : str ,
847
847
windows_sdk_version : str ,
848
+ freethreaded : bool ,
848
849
):
849
850
args = [
850
851
str (msbuild ),
@@ -867,6 +868,9 @@ def run_msbuild(
867
868
f"/property:DefaultWindowsSDKVersion={ windows_sdk_version } " ,
868
869
]
869
870
871
+ if freethreaded :
872
+ args .append ("/property:IncludeFreethreaded=true" )
873
+
870
874
exec_and_log (args , str (pcbuild_path ), os .environ )
871
875
872
876
@@ -1394,6 +1398,7 @@ def build_cpython(
1394
1398
) -> pathlib .Path :
1395
1399
parsed_build_options = set (build_options .split ("+" ))
1396
1400
pgo = "pgo" in parsed_build_options
1401
+ freethreaded = "freethreaded" in parsed_build_options
1397
1402
1398
1403
msbuild = find_msbuild (msvc_version )
1399
1404
log ("found MSBuild at %s" % msbuild )
@@ -1507,6 +1512,7 @@ def build_cpython(
1507
1512
platform = build_platform ,
1508
1513
python_version = python_version ,
1509
1514
windows_sdk_version = windows_sdk_version ,
1515
+ freethreaded = freethreaded ,
1510
1516
)
1511
1517
1512
1518
# build-windows.py sets some environment variables which cause the
@@ -1572,6 +1578,7 @@ def build_cpython(
1572
1578
platform = build_platform ,
1573
1579
python_version = python_version ,
1574
1580
windows_sdk_version = windows_sdk_version ,
1581
+ freethreaded = freethreaded ,
1575
1582
)
1576
1583
artifact_config = "PGUpdate"
1577
1584
@@ -1583,6 +1590,7 @@ def build_cpython(
1583
1590
platform = build_platform ,
1584
1591
python_version = python_version ,
1585
1592
windows_sdk_version = windows_sdk_version ,
1593
+ freethreaded = freethreaded ,
1586
1594
)
1587
1595
artifact_config = "Release"
1588
1596
0 commit comments