verible_toolchain rule

Rules

verible_toolchain

load("@rules_verible//verible:verible_toolchain.bzl", "verible_toolchain")

verible_toolchain(name, verible_diff, verible_format, verible_lint)

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). 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, and VERIBLE_DIFF_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

NameDescriptionTypeMandatoryDefault
nameA unique name for this target.Namerequired
verible_diffThe verible-verilog-diff binary.Labelrequired
verible_formatThe verible-verilog-format binary.Labelrequired
verible_lintThe verible-verilog-lint binary.Labelrequired