"""bazelbuild/rules_rust - bzlmod cross-compilation example""" module( name = "cross_compile_example", version = "0.0.0", ) bazel_dep(name = "bazel_skylib", version = "1.5.0") bazel_dep(name = "platforms", version = "0.0.8") bazel_dep(name = "toolchains_llvm", version = "0.10.3") # rules_rust still needs a cpp toolchain, so provide a cross-compiling one here llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm") llvm.toolchain( name = "llvm_toolchain", llvm_version = "16.0.0", sysroot = {"linux-aarch64": "@@org_chromium_sysroot_linux_aarch64//:sysroot"}, ) use_repo(llvm, "llvm_toolchain", "llvm_toolchain_llvm") register_toolchains("@llvm_toolchain//:all") bazel_dep(name = "rules_rust", version = "0.0.0") local_path_override( module_name = "rules_rust", path = "../../..", ) rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") rust.toolchain( edition = "2021", extra_target_triples = [ "aarch64-unknown-linux-gnu", "x86_64-unknown-linux-gnu", ], ) use_repo(rust, "rust_toolchains") register_toolchains("@rust_toolchains//:all")