verible_toolchain rule
Rules
verible_toolchain
load("@rules_verible//verible:verible_toolchain.bzl", "verible_toolchain")
verible_toolchain(name, verible_diff, verible_format, verible_lint, verible_syntax)
A toolchain that exposes the Verible tools.
A single instance holds every Verible binary rules_verible knows about
(verible-verilog-format, verible-verilog-lint, verible-verilog-diff,
verible-verilog-syntax). The format, lint, and diff pipelines all consume the
same //verible:toolchain_type and pull whichever binary they need from the
resolved ToolchainInfo.
The rule also provides platform_common.TemplateVariableInfo exposing
VERIBLE_FORMAT_RLOCATIONPATH, VERIBLE_LINT_RLOCATIONPATH,
VERIBLE_DIFF_RLOCATIONPATH, and VERIBLE_SYNTAX_RLOCATIONPATH, so a
downstream cc_binary can reference each binary's runfiles key via
env = {"VERIBLE_..._RLOCATIONPATH": "$(VERIBLE_..._RLOCATIONPATH)"}.
The default toolchain registered by //verible/toolchain:all points at the
prebuilt Verible releases for linux x86_64, linux aarch64, macOS, and
windows x86_64. To override (e.g. point at a vendored or system-installed
Verible), instantiate this rule yourself and register_toolchains(...) it
ahead of the defaults in your MODULE.bazel.
ATTRIBUTES
| Name | Description | Type | Mandatory | Default |
|---|---|---|---|---|
| name | A unique name for this target. | Name | required | |
| verible_diff | The verible-verilog-diff binary. | Label | required | |
| verible_format | The verible-verilog-format binary. | Label | required | |
| verible_lint | The verible-verilog-lint binary. | Label | required | |
| verible_syntax | The verible-verilog-syntax binary. | Label | required |