@@ -117,7 +117,7 @@ def architectures(self) -> set[Architecture]:
117
117
return self .globals .architectures
118
118
119
119
120
- Setting = Union [Mapping [str , str ], Sequence [str ], str , int ]
120
+ Setting = Union [Mapping [str , str ], Sequence [str ], str , int , bool ]
121
121
122
122
123
123
@dataclasses .dataclass (frozen = True )
@@ -196,7 +196,7 @@ def _resolve_cascade(
196
196
if value is None :
197
197
continue
198
198
199
- if ignore_empty and not value :
199
+ if ignore_empty and not value and value is not False :
200
200
continue
201
201
202
202
value_string = _stringify_setting (value , list_sep , table_format )
@@ -258,7 +258,7 @@ def _stringify_setting(
258
258
raise ConfigOptionError (msg )
259
259
return list_sep .join (setting )
260
260
261
- if isinstance (setting , int ):
261
+ if isinstance (setting , ( bool , int ) ):
262
262
return str (setting )
263
263
264
264
return setting
@@ -516,6 +516,10 @@ def globals(self) -> GlobalOptions:
516
516
skip_config = self .reader .get ("skip" , env_plat = False , list_sep = " " )
517
517
test_skip = self .reader .get ("test-skip" , env_plat = False , list_sep = " " )
518
518
519
+ free_threaded_support = strtobool (
520
+ self .reader .get ("free-threaded-support" , env_plat = False , ignore_empty = True )
521
+ )
522
+
519
523
prerelease_pythons = args .prerelease_pythons or strtobool (
520
524
self .env .get ("CIBW_PRERELEASE_PYTHONS" , "0" )
521
525
)
@@ -536,12 +540,14 @@ def globals(self) -> GlobalOptions:
536
540
skip_config = ""
537
541
architectures = Architecture .all_archs (self .platform )
538
542
prerelease_pythons = True
543
+ free_threaded_support = True
539
544
540
545
build_selector = BuildSelector (
541
546
build_config = build_config ,
542
547
skip_config = skip_config ,
543
548
requires_python = requires_python ,
544
549
prerelease_pythons = prerelease_pythons ,
550
+ free_threaded_support = free_threaded_support ,
545
551
)
546
552
test_selector = TestSelector (skip_config = test_skip )
547
553
0 commit comments