commit | 4dcb8b2a210627b7db8ed537bf60d4d292cc5ee4 | [log] [tgz] |
---|---|---|
author | pigweed-roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> | Tue Mar 18 21:20:47 2025 -0700 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Mar 18 21:20:47 2025 -0700 |
tree | 460fa745d39ce549b6c7831999f9a853aa9df67e | |
parent | 3ddc904fd54497d73b0fadfd80c93d3d45e14233 [diff] |
roll: pigweed 7bcb789..1bfa6aa (22 commits) 1bfa6aa:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276993 pw_kernel: Combine cortex-m and riscv entry points 775445d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276992 pw_kernel: Refactor targets for consistency 29e6e1e:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276494 pw_kernel: Don't tick scheduler before there are tasks to run 64d117c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276493 pw_kernel: Add preempt disabling/rescheduling on WakeQueue::wake_one 7c91661:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276492 pw_kernel: Add current_thread accessors 0f7fc56:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/274972 pw_tokenizer: Correctly detect target os for Rust linker section 43f76d0:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276896 bazel: Remove remote caching workaround 1486c7c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275178 pw_tokenizer: Enable conversion warning as error 53668ea:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276032 pw_kernel: Add RISC-V scaffolding f0e1180:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276932 pw_toolchain: Remove llvm_toolchain_device 99d7c40:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275177 pw_tokenizer: Fix conversion warnings 82b6374:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276754 bazel: Enable -Wconversion by default 85faf90:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276892 pw_toolchain: Document conversion_warnings feature 0f049d6:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276793 pw_toolchain: Add conversion_warnings feature b466e7c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276752 pw_kernel: Allow trailing commas in log_if! API 4c4249c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275175 pw_elf: Enable conversion warning as error 466384b:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276792 pw_toolchain: Remove llvm_toolchain_macos c64aca0:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/275174 pw_elf: Fix conversion warnings in reader_impl 1ee626d:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276732 build: Add .vscode/ to .bazelignore 892b65c:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276453 pw_rpc_transport: Remove unused header 2dba9b7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/276733 MODULE.bazel: Tweak qemu reference 5a5a2d7:https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/270212 pw_bluetooth_sapphire: Set ISO packet sequence number Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: 7bcb7899ad30e3..1bfa6aa33ce225 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8719999381851010785 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: Ibb611102da0f3899b26ee0359d94dbc519f8e63e Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/277113 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 //...