1"""bazelbuild/rules_rust - bzlmod cross-compilation example""" 2 3module( 4 name = "cross_compile_example", 5 version = "0.0.0", 6) 7 8bazel_dep(name = "bazel_skylib", version = "1.5.0") 9bazel_dep(name = "platforms", version = "0.0.8") 10bazel_dep(name = "toolchains_llvm", version = "0.10.3") 11 12# rules_rust still needs a cpp toolchain, so provide a cross-compiling one here 13llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm") 14llvm.toolchain( 15 name = "llvm_toolchain", 16 llvm_version = "16.0.0", 17 sysroot = {"linux-aarch64": "@@org_chromium_sysroot_linux_aarch64//:sysroot"}, 18) 19use_repo(llvm, "llvm_toolchain", "llvm_toolchain_llvm") 20 21register_toolchains("@llvm_toolchain//:all") 22 23bazel_dep(name = "rules_rust", version = "0.0.0") 24local_path_override( 25 module_name = "rules_rust", 26 path = "../../..", 27) 28 29rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") 30rust.toolchain( 31 edition = "2021", 32 extra_target_triples = [ 33 "aarch64-unknown-linux-gnu", 34 "x86_64-unknown-linux-gnu", 35 ], 36) 37use_repo(rust, "rust_toolchains") 38 39register_toolchains("@rust_toolchains//:all") 40