commit | 4d42d6e33472541bff0131e3e3544ccd15d1c9c4 | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Thu Mar 13 23:12:49 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Mar 13 23:12:49 2025 -0700 |
tree | 01cf9ca74f71cf6a3717cbcab10084e10165243a | |
parent | 835263a15d7c86a7a1e3424eba7850d0eb7d3adc [diff] |
roll: pigweed a0b5dfd..43bcf7e (20 commits) 43bcf7e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274912 pw_log: Allow trailing commas in Rust API a05a8d6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/273872 pw_kernel: Add sleep() and remove TICK_WAIT_QUEUE 137c217:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/272814 pw_kernel: Add timeouts to WaitQueue and Mutex 609c60b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/273552 pw_kernel: Add name field to Thread 7eb2376:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275612 pw_flatbuffers: Add PREFIX and STRIP_PREFIX to build options 5c1e4ea:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274895 pw_bluetooth_proxy: Adjust AclFragTest variable names and ordering 23115bf:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274833 pw_bluetooth_proxy: Handle channel being dropped during recombination 7504dc5:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274554 pw_bluetooth_proxy: Tweak nested if and comment cee9c4c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/273455 pw_kernel: Fix bug with is_linked() in lists e37e3da:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/273113 pw_kernel: Add remove_element method to ForeignList 3e1c9bd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274996 pw_bluetooth_proxy: Fix msan issue in CanRepeatedlyReuseOneBuffer 8dcf388:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275716 pw_presubmit: Split out docs for pigweed.json options da0db9b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274995 pw_bluetooth_proxy: Fix msan issue in CanOccupyAllThenReuseEachBuffer 39dfa95:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274994 pw_bluetooth_proxy: Fix msan issue in H4BufferReleaseTriggersQueueDrain f64b951:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275713 pw_build: Allow overriding pw_python_zip_with_setup scripts 13bbf6b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/258773 pw_tokenizer: Add support for nested tokenization in C++ 6a635aa:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275452 pw_env_setup: Upgrade pip, pip-tools, setuptools 953aec9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274573 pw_toolchain: Add riscv32 bazel toolchains 0866c5a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275712 pw_env_setup: Remove toml Python package checks 54b9b02:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274272 pw_container: Backport constexpr functions to <algorithm> Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: a0b5dfd1dd69c9..43bcf7e0b644e9 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8720444966328949649 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I15ba8162432d7308acb363ffbad5e5faf83975f7 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/275836 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 //...