//python/private:py_cc_toolchain_rule.bzl — rules_python 0.0.0 documentation (original) (raw)
Implementation of py_cc_toolchain rule.
NOTE: This is a beta-quality feature. APIs subject to change until https://github.com/bazel-contrib/rules\_python/issues/824 is considered done.
rule py_cc_toolchain(name, headers, python_version, libs=None)
A toolchain for a Python runtime’s C/C++ information (e.g. headers)
This rule carries information about the C/C++ side of a Python runtime, e.g. headers, shared libraries, etc.
This provides ToolchainInfo
with the following attributes:
py_cc_toolchain
: PyCcToolchainInfotoolchain_label
: Label only present when--visibilefortesting=True
for internal testing. The rule’s label; this allows identifying what toolchain implmentation was selected for testing purposes.
Attributes:
- name – (Name)
A unique name for this target.
mandatory - – (label)
Target that provides the Python headers. Typically this is a cc_library target.
mandatory
Required providers: CcInfo - python_version – (str)
The Major.minor Python version, e.g. 3.11
mandatory - libs – (label) (default None)
Target that provides the Python runtime libraries for linking. Typically this is a cc_library target of.so
files.
optional
Required providers: CcInfo