toolchain: unify all rules

Now that rules are parameterized consistently, we can tweak them a bit
and have a centeralized list of all of the toolchain configurations we
support.

BUG=b:220355021
TEST=bazel-5 build ...

Change-Id: If77ecc8e466174a8e122ce4febe4cb0b3335ac13
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/rules_cros/+/3503957
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
7 files changed
tree: cf4079c7b178669962c0418a71c245c22a591999
  1. cros/
  2. test/
  3. .bazelrc
  4. .gitignore
  5. common.bazelrc
  6. DIR_METADATA
  7. LICENSE
  8. OWNERS
  9. README.md
  10. run_tests.sh
  11. WORKSPACE
  12. WORKSPACE.cros
README.md

Chrome OS Bazel Rules

Overview

This repository provides common rules and configuration for Bazel projects in Chrome OS.

Usage

rules_cros is only expected to function inside the Chrome OS SDK. You may copy the following snippet into your WORKSPACE file and fix up the relative path in local_repository to point from your project to where rules_cros is checked out.

local_repository(
    name = "rules_cros",
    path = "../src/platform/rules_cros",
)

load("@rules_cros//cros:repositories.bzl", "rules_cros_dependencies")

rules_cros_dependencies()

You will also need to symlink .bazelrc in the root of your project to common.bazelrc in this repo. You can put additional settings in a file named user.bazelrc in the root of your WORKSPACE and it will automatically be imported by common.bazelrc.

Documentation

The code is this directory is experimental and under active development. Stability and functionality is not guaranteed :)