commit | 17d6fe938fda4d9d2002a3a03a8b008a66c355ad | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Mon Mar 24 18:55:33 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Mar 24 18:55:33 2025 -0700 |
tree | 9d103093250a7760b7ef3d41afd72699c25c5bc5 | |
parent | a77a0df7754e62d0f1435abbca61c7f59ef3582c [diff] |
roll: pigweed aa22856..2861b6a (15 commits) 2861b6a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278332 pw_protobuf_compiler: Fix unused variable 3003d35:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278454 pw_bluetooth_sapphire: Re-enable UBSAN tests in sm c658b93:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278393 pw_bluetooth_sapphire: Fix gatt UBSAN failure 3ccc4c6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278453 pw_bluetooth_sapphire: Remove outdated TODO 011a081:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274695 pw_bluetooth_proxy: Implement L2CAP configuration request handling 096b4e7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276332 pw_bluetooth_sapphire: Return credits after reading 5fd1e1f:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278377 docs: Warn about LED not working on Pico W 244b3d0:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278032 pw_ide: Stricter detection of Bazel projects fd7055a:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/277793 pw_async2: Add debugging logs and metrics to dispatcher cdb6318:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/277954 pw_ide: Allow compDB refresh of bootstrap projects df8b1de:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278033 pw_ide: Fix target display name 24fc182:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278152 pw_bluetooth_sapphire: Fix common ubsan failures 089e227:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278292 pw_multibuf: Reduce stack usage in test 7bf3b52:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278352 pw_build: Add test for subpackage directory globbing e38b971:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/278153 pw_bluetooth_sapphire: Fix hci ubsan failures Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: aa2285683111b0..2861b6ad5f94c2 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8719464676957691601 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I343bd99200282fb16d0e53d4c0793c6698be0191 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/278385 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.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 //...