| commit | 7ea47060104e053ec272c11909f90e639a67e87d | [log] [tgz] |
|---|---|---|
| author | Laramie Leavitt <lar@google.com> | Fri Nov 21 20:02:42 2025 -0800 |
| committer | GitHub <noreply@github.com> | Sat Nov 22 04:02:42 2025 +0000 |
| tree | a9f3b1df557e789c661da589d07140a780459c38 | |
| parent | 23e605cb1efb8a6f3c6831e2efaffacd71a215f0 [diff] |
fix(local) Add api3 targets and additional defines. (#3408) Propagate defines and additional dll requirements for local python installs. In get_local_runtime_info.py: * detect abi3 vs. full abi libraries. * Ensure that returned libraries are unique. * Add additional dlls required by pythonXY.dll / pythonX.dll on windows. * Add default defines for Py_GIL_DISABLED when the local python is a freethreaded install. * Add defines (windows) for Py_NO_LINK_LIB to avoid #pragma comment(lib ...) macros In local_runtime_repo_setup.bzl * More closely match hermetic_runtime_repo_setup * Add abi3 header targets. In local_runtime_repo.bzl * rework linking to local repository directories to handl abi3 and extra dlls. * Update parameters passed into local_runtime_repo_setup.bzl Before these changes, some bazel builds using local Python fail to link properly. This happens due to a mismatch in the interpreter and the python GIL DISABLED mode, or (on Windows), where both freethreaded and non-freethreaded libraries may attempt to be linked at the same time. --------- Co-authored-by: Richard Levasseur <richardlev@gmail.com> Co-authored-by: Richard Levasseur <rlevasseur@google.com>
This repository is the home of the core Python rules -- py_library, py_binary, py_test, py_proto_library, and related symbols that provide the basis for Python support in Bazel. It also contains package installation rules for integrating with PyPI and other indices.
Documentation for rules_python is at https://rules-python.readthedocs.io and in the Bazel Build Encyclopedia.
Examples live in the examples directory.
The core rules are stable. Their implementation is subject to Bazel's backward compatibility policy. This repository aims to follow semantic versioning.
The Bazel community maintains this repository. Neither Google nor the Bazel team provides support for the code. However, this repository is part of the test suite used to vet new Bazel releases. See How to contribute page for information on our development workflow.
For detailed documentation, see https://rules-python.readthedocs.io
See Bzlmod support for more details.