commit | 50717dd189245953692ef802c7c5d807627dc2a8 | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Mon Mar 17 21:40:00 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Mar 17 21:40:00 2025 -0700 |
tree | 70898e104c4d9b4848fc1036a922a3a3d1050d5f | |
parent | c7ef13b55686897453f2fe19a3b0f1dbb337f253 [diff] |
roll: pigweed a02d053..2e233e7 (10 commits) 2e233e7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274914 pw_kernel: Use pw_assert instead of core macros 99a318c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274913 pw_kernel: Add initial assert API 6f10067:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276472 build: Upgrade bazel qemu prebuilt 3aba99c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276452 docs: Add missing RP2350 tab to Sense factory tutorial 3a2d151:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276374 pw_bluetooth_sapphire: Fix fuzzer timeouts ef8dad6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276392 pw_bluetooth_sapphire: Change MemoryAvailable to MemoryAvailableForSlots 834a3d8:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/273813 pw_fuzzer: Fix googletest bazel config 1fbd499:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274072 pw_bluetooth_sapphire: Handle invalid RSSI in inquiry event 0e3733b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/265639 pw_bluetooth_sapphire: Support Controller packet filter offloading 40459ab:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276372 pw_result: Fix typo in docs Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: a02d053a6f7326..2e233e7fbe7605 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8720088501126673745 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I6d008392383238482b27909c04fe7b2da11625b0 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/276633 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 //...