blob: d062861c7103b8d47b0431aaf923b63802592eab [file] [log] [blame]
load("@no_std_crate_index//:defs.bzl", "aliases", "all_crate_deps")
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test")
load(
"@rules_rust//rust:defs.bzl",
"rust_binary",
"rust_library",
"rust_shared_library",
)
rust_shared_library(
name = "lib",
srcs = [
"lib.rs",
"no_std.rs",
],
crate_features = select({
"@rules_rust//:is_no_std": [],
"//conditions:default": ["std"],
}),
edition = "2021",
deps = ["custom_alloc"],
)
rust_library(
name = "custom_alloc",
srcs = ["alloc.rs"],
aliases = aliases(),
deps = all_crate_deps(normal = True),
)
cc_library(
name = "nostartfiles",
linkopts = ["-nostartfiles"],
)
rust_binary(
name = "main",
srcs = ["main.rs"],
aliases = aliases(),
deps = all_crate_deps(normal = True) + [":nostartfiles"],
)
cc_test(
name = "no_std_cc_test",
srcs = ["main.c"],
deps = [":lib"],
)