Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit da16bc3

Browse filesBrowse files
committed
Added free_threading option to adapt python headers and library to free threading (no GIL) mode
1 parent 2c0dc60 commit da16bc3
Copy full SHA for da16bc3

File tree

Expand file treeCollapse file tree

1 file changed

+11
-10
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+11
-10
lines changed

‎python/private/python_repositories.bzl

Copy file name to clipboardExpand all lines: python/private/python_repositories.bzl
+11-10Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ def _python_repository_impl(rctx):
118118
python_version = rctx.attr.python_version
119119
python_version_info = python_version.split(".")
120120
python_short_version = "{0}.{1}".format(*python_version_info)
121+
free_threading_postfix = "t" if rctx.attr.free_threading else ""
121122
release_filename = rctx.attr.release_filename
122123
urls = rctx.attr.urls or [rctx.attr.url]
123124
auth = get_auth(rctx, urls)
@@ -369,7 +370,7 @@ cc_library(
369370
hdrs = [":includes"],
370371
includes = [
371372
"include",
372-
"include/python{python_version}",
373+
"include/python{python_version}{ft_postfix}",
373374
"include/python{python_version}m",
374375
],
375376
)
@@ -378,9 +379,9 @@ cc_library(
378379
name = "libpython",
379380
hdrs = [":includes"],
380381
srcs = select({{
381-
"@platforms//os:windows": ["python3.dll", "libs/python{python_version_nodot}.lib"],
382-
"@platforms//os:macos": ["lib/libpython{python_version}.dylib"],
383-
"@platforms//os:linux": ["lib/libpython{python_version}.so", "lib/libpython{python_version}.so.1.0"],
382+
"@platforms//os:windows": ["python3.dll", "libs/python{python_version_nodot}{ft_postfix}.lib"],
383+
"@platforms//os:macos": ["lib/libpython{python_version}{ft_postfix}.dylib"],
384+
"@platforms//os:linux": ["lib/libpython{python_version}{ft_postfix}.so", "lib/libpython{python_version}{ft_postfix}.so.1.0"],
384385
}}),
385386
)
386387
@@ -432,6 +433,7 @@ py_exec_tools_toolchain(
432433
python_path = python_bin,
433434
python_version = python_short_version,
434435
python_version_nodot = python_short_version.replace(".", ""),
436+
ft_postfix = free_threading_postfix,
435437
coverage_attr = coverage_attr_text,
436438
interpreter_version_info_major = python_version_info[0],
437439
interpreter_version_info_minor = python_version_info[1],
@@ -507,6 +509,11 @@ For more information see the official bazel docs
507509
"Either distutils or distutils_content can be specified, but not both.",
508510
mandatory = False,
509511
),
512+
"free_threading": attr.bool(
513+
default = False,
514+
doc = "Whether python interpreter has enabled free-threading (no GIL) mode.",
515+
mandatory = False,
516+
),
510517
"ignore_root_user_error": attr.bool(
511518
default = False,
512519
doc = "Whether the check for root should be ignored or not. This causes cache misses with .pyc files.",
@@ -555,12 +562,6 @@ For more information see the official bazel docs
555562
default = "1.5.2",
556563
),
557564
"_rule_name": attr.string(default = "python_repository"),
558-
"free_threading": attr.bool(
559-
default = False,
560-
doc = "Whether python interpreter has enabled free-threading (no GIL) mode.",
561-
mandatory = False,
562-
),
563-
564565
},
565566
environ = [REPO_DEBUG_ENV_VAR],
566567
)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.