emulation: parameterize

Parameterize all of the emulation-side rules, so they're easier to
generate from a unified set of toolchain attributes in a later patch.

(This happens after the 'unify' commit because I already wrote it in its
fully unified form.)

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

Change-Id: I9f737b24fd27d183a8a8b17ea3e14d919132c36e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/rules_cros/+/3523710
Reviewed-by: Chris McDonald <cjmcdonald@chromium.org>
Tested-by: George Burgess <gbiv@chromium.org>
3 files changed
tree: b4bb663aae86e16f454c87062faa19701e2b8503
  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 :)