blob: 3b62e28969ba1a699df4bfaccb2864af9a7455fd [file] [log] [blame]
Jan Schär22bea752025-07-03 07:17:11 +00001RUSTC_EFI_FLAGS = [
2 # Disable generation of PDB file to make build reproducible. Otherwise,
3 # the PDB file contains a non-deterministic path like
4 # /tmp/rustc0VgeF3/symbols.o, and the binary contains a hash of the PDB
5 # file. See https://github.com/rust-lang/rust/issues/112587
6 "-Clink-arg=/DEBUG:none",
7]
8
Tim Windelschmidte5e90a82024-07-17 23:46:22 +02009rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
10rust.toolchain(
Tim Windelschmidtb46dceb2025-08-19 15:11:24 +020011 edition = "2024",
Jan Schär22bea752025-07-03 07:17:11 +000012 extra_rustc_flags_triples = {
13 "x86_64-unknown-uefi": RUSTC_EFI_FLAGS,
14 "aarch64-unknown-uefi": RUSTC_EFI_FLAGS,
15 },
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020016 extra_target_triples = [
17 "x86_64-unknown-uefi",
Jan Schär56248c12025-05-05 13:34:18 +000018 "aarch64-unknown-uefi",
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020019 ],
Tim Windelschmidtb46dceb2025-08-19 15:11:24 +020020 # Newer versions are currently not usable, because of mangled symbols.
21 # https://github.com/bazelbuild/rules_rust/issues/3459
22 versions = ["1.87.0"],
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020023)
24use_repo(rust, "rust_toolchains")
25
26crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")
27crate.from_cargo(
28 name = "crate_index",
29 cargo_lockfile = "//third_party/rust:Cargo.lock",
30 generate_binaries = True,
31 manifests = ["//third_party/rust:Cargo.toml"],
Tim Windelschmidt74a23312025-02-10 23:12:24 +010032 supported_platform_triples = [
33 "x86_64-unknown-linux-gnu",
34 ],
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020035)
36crate.from_cargo(
37 name = "crate_index_efi",
38 cargo_lockfile = "//third_party/rust_efi:Cargo.lock",
39 generate_binaries = True,
40 manifests = ["//third_party/rust_efi:Cargo.toml"],
41 supported_platform_triples = [
42 "x86_64-unknown-linux-gnu",
43 "x86_64-unknown-uefi",
Jan Schär56248c12025-05-05 13:34:18 +000044 "aarch64-unknown-uefi",
Tim Windelschmidte5e90a82024-07-17 23:46:22 +020045 ],
46)
Tim Windelschmidt74a23312025-02-10 23:12:24 +010047use_repo(
48 crate,
49 "crate_index",
50 "crate_index_efi",
51)