# Copyright 2025 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. load("@pigweed//pw_build:compatibility.bzl", "incompatible_with_mcu") load("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library") load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library") rust_library( name = "panic_detector", srcs = [ "lib.rs", "riscv/call_graph.rs", "riscv/compression.rs", "riscv/elf_mem.rs", "riscv/mod.rs", ], proc_macro_deps = [ "@rust_crates//:bitfield-struct", ], target_compatible_with = incompatible_with_mcu(), visibility = ["//visibility:public"], deps = [ "//pw_kernel/lib/pw_cast", "@rust_crates//:anyhow", "@rust_crates//:object", "@rust_crates//:rustc-demangle", ], ) rust_binary( name = "panic_detector_tool", srcs = [ "main.rs", ], target_compatible_with = incompatible_with_mcu(), visibility = ["//visibility:public"], deps = [ ":panic_detector", "@rust_crates//:clap", ], ) sphinx_docs_library( name = "docs", srcs = [ "docs.rst", ], prefix = "pw_kernel/tooling/panic_detector/", target_compatible_with = incompatible_with_mcu(), visibility = ["//visibility:public"], )