- Nov 15, 2023
-
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
-
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Especially disabling legacy runfiles.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
`use_repo_rule` is available in `6.4.0` and above. It _hugely_ simplifies what we want to do. That should be the new minimum version for our rulesets. As of writing, `6.4.0` is not released. The release candidates do not have the `use_repo_rule` added, yet. Most rules use `last_rc` Bazel version. `visibility` is available in 6.0+.
-
Matthew Clarkson authored
-
Adds an tag class that can select a repository based on the current local machine triplet.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
For some reason, the `triplet:test` target creates all the Posix shell scripts for each triplet. We need a more efficient `triplet` rule implementation. We also need to figure out why every single triplet is getting resolved.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
It is almost impossible to correctly transfer all the local files necessary for a local binary to the remote service. For safety, constraint all local toolchains to run on the local client until we have more time to validate that local toolchains work remotely. This is certainly possible: C/C++ toolchain define all the local files needed for remote execution. We will need to expose the `data` attribute through so that arbitary files can be globbed and sent along with the binary.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Bazel has conflicting nomenclature here. They use host machine, in particular `--host_platform` but they also use local machine when refering to remote execution. It makes sense to align on one, local seems sensible as that works in both non-remote-execution and remote-execution conversations.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Allows easy testing of a toolchain binary.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
This allows rules that need to propagate multiple files. `sh_binary` is one example of this. _Technically_, this should be possible by propagating runfiles but the toolchains are needed at build time, not runtime.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
Importantly, includes the `executable = True` keyword.
-
Matthew Clarkson authored
Allows usage of `--host_platform=@rules_toolchain//toolchain/platform:host` to get `libc` aware host constraints.
-
Matthew Clarkson authored
They are not _real_ constraints but `config_settings` which can be used in a `select` to switch on the triplet.
-
Matthew Clarkson authored
The "constraint" is actually a `config_settings` that combines all of the host constraints but can be used in a `select`.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
A simple implementation of `toolchain_local_binary`.
-
Matthew Clarkson authored
This can be used to create hermetic toolchains
-
Matthew Clarkson authored
This patch removes an extra layer of indirection in toolchains. The `toolchain/local/binary` rule sets up the `TemplateVariableInfo`, `ToolchainInfo` and `DefaultInfo`. The newly renamed `resolved` rule just forwards on the created providers after the toolchain resolution has happened. This removed the need to create an extra `info` rule to describe the toolchain
-