Lines Matching full:toolchain

6 This documents how to configure the Python toolchain and runtimes for different
46 python.toolchain(python_version = "3.12", is_default = True)
74 python.toolchain(python_version = "3.12", is_default=True)
85 `python.toolchain` -- rules_python ensures _some_ Python version is available,
116 python.toolchain(python_version = "3.12")
141 python.toolchain(
154 ### Other toolchain details
156 The `python.toolchain()` call makes its contents available under a repo named
158 `python.toolchain(python_version="3.11")` creates the repo `@python_3_11`.
162 #### Toolchain usage in other rules
172 ### Overriding toolchain defaults and adding more versions
218 ### Workspace toolchain registration
220 To register a hermetic Python toolchain rather than rely on a system-installed interpreter for runt…
243 After registration, your Python targets will use the toolchain's interpreter during execution, but …
245 You may also find some quirks while using this toolchain. Please refer to [python-build-standalone …
247 ## Autodetecting toolchain
249 The autodetecting toolchain is a deprecated toolchain that is built into Bazel.
256 as the lowest priority toolchain. For WORKSPACE builds, if no other toolchain
257 is registered, that toolchain will be used. For bzlmod builds, rules_python
258 automatically registers a higher-priority toolchain; it won't be used unless
259 there is a toolchain misconfiguration somewhere.
261 To aid migration off the Bazel-builtin toolchain, rules_python provides
263 toolchain, but is implemented using rules_python's objects.
280 toolchains a "toolchain suite".
290 ### Target toolchain type
292 The target toolchain type is {obj}`//python:toolchain_type`, and it
302 This toolchain type is intended to hold only _target configuration_ values. As
303 such, when defining its associated {external:bzl:obj}`toolchain` target, only
304 set {external:bzl:obj}`toolchain.target_compatible_with` and/or
305 {external:bzl:obj}`toolchain.target_settings` constraints; there is no need to
306 set {external:bzl:obj}`toolchain.exec_compatible_with`.
308 ### Python C toolchain type
310 The Python C toolchain type ("py cc") is {obj}`//python/cc:toolchain_type`, and
318 This toolchain type is intended to hold only _target configuration_ values
320 its associated {external:obj}`toolchain` target, only set
321 {external:bzl:obj}`toolchain.target_compatible_with` and/or
322 {external:bzl:obj}`toolchain.target_settings` constraints; there is no need to
323 set {external:bzl:obj}`toolchain.exec_compatible_with`.
325 ### Exec tools toolchain type
327 The exec tools toolchain type is {obj}`//python:exec_tools_toolchain_type`,
331 This toolchain type is intended to hold only _exec configuration_ values --
338 The toolchain constraints of this toolchain type can be a bit more nuanced than
339 the other toolchain types. Typically, you set
340 {external:bzl:obj}`toolchain.target_settings` to the Python version the tools
341 are for, and {external:bzl:obj}`toolchain.exec_compatible_with` to the platform
342 they can run on. This allows the toolchain to first be considered based on the
362 ### Custom toolchain example
364 Here, we show an example for a semi-complicated toolchain suite, one that is:
422 # Putting toolchain() calls in a separate package from the toolchain
425 toolchain(
427 toolchain = "//toolchain_impl:runtime_pair",
431 toolchain(
433 toolchain = "//toolchain_impl:py_cc_toolchain_impl",
438 toolchain(
440 toolchain = "//toolchain_impl:exec_tools_toolchain_impl",
450 The toolchain() calls should be in a separate BUILD file from everything else.