commit | 63f992e1ce436dec24d65873d1f93ea59ed0a812 | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Fri Mar 14 22:50:10 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Mar 14 22:50:10 2025 -0700 |
tree | 0b730ec837b4ff3b0e63ffbce49ece0765097c73 | |
parent | 53a4cc77dc363aaafe9702c4d56819480d04855d [diff] |
roll: pigweed 236c292..8165b25 (12 commits) 8165b25:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/263913 third_party/freertos: Allow empty glob a63dba9:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275972 pw_async2: Move classes to their own headers 7fd8ce1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/264519 pw_log_tokenized: Remove includes, fix layering 42f3db7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/256594 pw_rpc: Remove system_server multiplexer ff0dac0:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276074 pw_toolchain: Fixup compiler helpers for use outside pigweed 0ae3933:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276134 pw_presubmit: Check includes on .bazelrc changes f1b817c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276073 pw_build: Add -Wthread-safety-beta for upstream gn clang builds 29508f7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275352 pw_bluetooth: Add MTU field into L2capOption structure 8cb56bd:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275892 pw_console: Remove unused ipython dependency 44575e1:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275914 pw_i2c_mcuxpresso: Fix thread annotation issues 615cb03:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275912 MODULE.bazel: Use mirror of googletest a63afba:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274572 pw_env_setup: Upgrade pylint Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 236c292ed9f516..8165b25e5b05b5 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8720355850784922481 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: Ia3b0554ab167bf6c1a561968ea0f4d265695fd1b Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/276029 Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Bot-Commit: 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 //...