blob: d0473e4cc99c7eb81e59785a8ef348e535e272e0 [file] [edit]
# Copyright 2026 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
module(
name = "nrf52_pw_clang_example",
version = "0.0.1",
)
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "rules_platform", version = "0.1.0")
bazel_dep(name = "rules_python", version = "1.8.3")
bazel_dep(name = "rules_cc", version = "0.2.16")
bazel_dep(name = "zephyr-bazel")
bazel_dep(name = "protobuf", version = "33.4")
include("//:pigweed_dep.MODULE.bazel")
# Toolchain registration
# ======================
# Register Pigweed's C++ toolchains.
register_toolchains(
"@pigweed//pw_toolchain/arm_clang:arm_clang_cc_toolchain_cortex-m4",
"@pigweed//pw_toolchain/host_clang:host_cc_toolchain_linux",
"@pigweed//pw_toolchain/host_clang:host_cc_toolchain_macos",
dev_dependency = True,
)
local_path_override(
module_name = "zephyr-bazel",
path = "../../",
)
# Zephyr setup
# ============
zephyr_patch = use_extension("@zephyr-bazel//:setup.bzl", "zephyr_patch_file")
zephyr_patch.checkout(
# The autoroller is broken. Manually update on 2026-5-8.
commit = "684c9e8f32e4373a21098559f748f06915f950c9",
)
# Get access to the patched zephyr repo.
use_repo(zephyr_patch, "zephyr", "zephyr_version")
inject_repo(zephyr_patch, "hal_nordic")
inject_repo(zephyr_patch, "cmsis_6")
new_git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
new_git_repository(
name = "hal_nordic",
build_file = "@zephyr-bazel//modules:hal_nordic.BUILD",
commit = "7858281d843468fe53c829995fb63f45a227387a",
remote = "https://github.com/zephyrproject-rtos/hal_nordic.git",
)
new_git_repository(
name = "cmsis_6",
build_file = "@zephyr-bazel//modules:cmsis_6.BUILD",
commit = "30a859f44ef8ab4dc8f84b03ed586fd16ccf9d74",
remote = "https://github.com/zephyrproject-rtos/CMSIS_6.git",
)
python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
configure_coverage_tool = True,
# Only set when you have multiple toolchain versions.
is_default = True,
python_version = "3.11",
)
use_repo(python, "pythons_hub")
zephyr_setup = use_extension("@zephyr-bazel//:setup.bzl", "zephyr_setup")
zephyr_setup.env(
apps_dirs = ["//:MODULE.bazel"],
boards_dirs = ["@zephyr//boards"],
)
use_repo(
zephyr_setup,
"zephyr_index",
"zephyr_kconfig",
"zephyr_state",
)
zephyr_setup_apps = use_extension("@zephyr-bazel//:setup.bzl", "zephyr_setup_apps")