diff options
Diffstat (limited to 'pw_rust/examples/embedded_hello/BUILD.bazel')
-rw-r--r-- | pw_rust/examples/embedded_hello/BUILD.bazel | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/pw_rust/examples/embedded_hello/BUILD.bazel b/pw_rust/examples/embedded_hello/BUILD.bazel new file mode 100644 index 000000000..e8309654c --- /dev/null +++ b/pw_rust/examples/embedded_hello/BUILD.bazel @@ -0,0 +1,39 @@ +# Copyright 2023 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("@rules_rust//rust:defs.bzl", "rust_binary") + +package(default_visibility = ["//visibility:public"]) + +rust_binary( + name = "hello", + srcs = ["src/main.rs"], + edition = "2021", + linker_script = select({ + "//pw_build/constraints/board:microbit": "qemu-rust-nrf51822.ld", + "//pw_build/constraints/chipset:lm3s6965evb": "qemu-rust-lm3s6965.ld", + }), + target_compatible_with = select({ + "@platforms//os:linux": ["@platforms//:incompatible"], + "@platforms//os:macos": ["@platforms//:incompatible"], + "//pw_build/constraints/board:microbit": [], + "//pw_build/constraints/chipset:lm3s6965evb": [], + }), + deps = [ + "@rust_crates//crates:cortex-m", + "@rust_crates//crates:cortex-m-rt", + "@rust_crates//crates:cortex-m-semihosting", + "@rust_crates//crates:panic-halt", + ], +) |