commit | a77a0df7754e62d0f1435abbca61c7f59ef3582c | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed.infra.roller.pigweed-service-accounts.iam.gserviceaccount.com> | Sun Mar 23 07:30:52 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sun Mar 23 07:30:52 2025 -0700 |
tree | cb0f02cbf14effa27f41508b8e0684eb3a4b5f15 | |
parent | dda2533323d8d9af38b893cc35dbd390e0413502 [diff] |
roll: pigweed roll: luci bb From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:15360378801f3e74bdadc43ea620429112a2ab6a luci-auth From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:05d6f54f551fc083915e8ecf1f2d98c5b916aeb6 led From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:15360378801f3e74bdadc43ea620429112a2ab6a swarming From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:15360378801f3e74bdadc43ea620429112a2ab6a logdog From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:05d6f54f551fc083915e8ecf1f2d98c5b916aeb6 prpc From git_revision:0116693211c2d2f947acb9977133a516e31d1e13 To git_revision:05d6f54f551fc083915e8ecf1f2d98c5b916aeb6 luci-cv From git_revision:036d16b462ac8941d3acc3c71edae733cb9bfd5c To git_revision:15360378801f3e74bdadc43ea620429112a2ab6a Roll-Count: 7 GitWatcher: ignore Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278096 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Original-Revision: aa2285683111b0efb39765152fe7a0eb1169b571 Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: d6d2201c41e461..aa2285683111b0 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8719598354465518817 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I58d21aa92f5367d016087fd00ce9c1d15d52e367 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/278213 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
The way this repository works is by overlaying itself on top of Zephyr. To get started, first make sure you have Bazel‘s skylib version 1.7.1 or greater. If you don’t have it, you can use:
http_archive( name = "bazel_skylib", sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz", "https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz", ], ) load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") bazel_skylib_workspace()
To grab the zephyr-bazel repo, use a git_repository rule in your WORKSPACE, such as:
git_repository( name = "zephyr-bazel", remote = "https://pigweed.googlesource.com/zephyr/zephyr-bazel" branch = "main", )
Once you have @zephyr-bazel
, we can load the patch rule to generate the Zephyr diff that will augment Zephyr to include the BUILD.zephyr rules.
load("@zephyr-bazel//:setup.bzl", "create_zephyr_patch_file") create_zephyr_patch_file( name = "zephyr-patch", filename = "patch.diff", # This is optional, use it to see what's going on under the hood debug = True, )
We now have a diff file at @zephyr-patch//:patch.diff
. We're ready to load Zephyr.
git_repository( name = "zephyr", remote = "https://github.com/zephyrproject-rtos/zephyr.git", branch = "main", patches = [ "@zephyr-patch//:patch.diff", ], )
The final step will be to load Zephyr's python dependencies:
load("@rules_python//python:pip.bzl", "pip_parse") pip_parse( name = "py_deps", python_interpreter_target = interpreter, requirements_lock = "@@zephyr//:scripts/requirements-base.txt", ) load("@py_deps//:requirements.bzl", zephyr_install_deps = "install_deps") zephyr_install_deps()
In your main application, you can now use the Zephyr utilities for building your app.
load("@zephyr//:defs.bzl", "dts_cc_library") dts_cc_library( name = "app_native_sim_dts", dts_lib = "@zephyr//boards/native/native_sim:native_sim", ) cc_binary( ... deps = [ ... "@zephyr//:zephyr", ] + select({ "@platform//cpu:x86_64": [ ":app_native_sim_dts", "@zephyr//include:posix", ], }), copts = select({ "@platform//cpu:x86_64": [ "-DCONFIG_ARCH_POSIX=1", ], }), )
There is currently just 1 example, you can run it via:
$ cd examples/hello_dts $ bazel run :app
Or, you can run the tests via:
$ cd examples/hello_dts $ bazel test //...