| module( |
| name = "hello_cross", |
| version = "0.0.0", |
| ) |
| |
| ############################################################################### |
| # Bazel Dependencies # https://registry.bazel.build/ |
| ############################################################################### |
| # Get latest rules_rust release from: |
| # https://github.com/bazelbuild/rules_rust/releases |
| bazel_dep(name = "rules_rust", version = "0.0.0") |
| local_path_override( |
| module_name = "rules_rust", |
| path = "../..", |
| ) |
| |
| # https://github.com/bazelbuild/platforms/releases |
| bazel_dep(name = "platforms", version = "1.0.0") |
| |
| # https://github.com/bazelbuild/rules_shell/releases |
| bazel_dep(name = "rules_shell", version = "0.4.0") |
| |
| # https://github.com/bazel-contrib/toolchains_llvm |
| bazel_dep(name = "toolchains_llvm", version = "1.2.0", dev_dependency = True) |
| |
| # https://github.com/bazelbuild/bazel/blob/master/tools/build_defs/repo/http.bzl |
| http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| ############################################################################### |
| # LLVM Toolchain # |
| ############################################################################### |
| # INTEL/AMD64 Sysroot. LastModified: 2024-04-26T19:15 |
| # https://commondatastorage.googleapis.com/chrome-linux-sysroot/ |
| http_archive( |
| name = "sysroot_linux_x64", |
| build_file = "//build/sysroot:BUILD.bazel", |
| sha256 = "5df5be9357b425cdd70d92d4697d07e7d55d7a923f037c22dc80a78e85842d2c", |
| urls = ["https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/4f611ec025be98214164d4bf9fbe8843f58533f7/debian_bullseye_amd64_sysroot.tar.xz"], |
| ) |
| |
| # ARM 64 Sysroot. LastModified: 2024-04-26T18:33 |
| # https://commondatastorage.googleapis.com/chrome-linux-sysroot/ |
| http_archive( |
| name = "sysroot_linux_aarch64", |
| build_file = "//build/sysroot:BUILD.bazel", |
| sha256 = "d303cf3faf7804c9dd24c9b6b167d0345d41d7fe4bfb7d34add3ab342f6a236c", |
| urls = ["https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/906cc7c6bf47d4bd969a3221fc0602c6b3153caa/debian_bullseye_arm64_sysroot.tar.xz"], |
| ) |
| |
| # LLVM Versions and platforms |
| # https://github.com/bazel-contrib/toolchains_llvm/blob/master/toolchain/internal/llvm_distributions.bzl |
| llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True) |
| llvm.toolchain( |
| name = "llvm_toolchain", |
| llvm_versions = { |
| "": "16.0.0", |
| "darwin-x86_64": "15.0.7", # For CI runner only; remove if you don't have an Intel Mac. |
| }, |
| stdlib = { |
| "linux-aarch64": "stdc++", |
| "linux-x86_64": "stdc++", |
| }, |
| ) |
| llvm.sysroot( |
| name = "llvm_toolchain", |
| label = "@sysroot_linux_x64//:sysroot", |
| targets = ["linux-x86_64"], |
| ) |
| llvm.sysroot( |
| name = "llvm_toolchain", |
| label = "@sysroot_linux_aarch64//:sysroot", |
| targets = ["linux-aarch64"], |
| ) |
| use_repo(llvm, "llvm_toolchain") |
| |
| register_toolchains( |
| "@llvm_toolchain//:all", |
| dev_dependency = True, |
| ) |
| |
| ############################################################################### |
| # Rust Toolchain # |
| ############################################################################### |
| RUST_EDITION = "2021" # NOTE: 2024 will be released with Rust 1.86.0 |
| |
| RUST_VERSION = "1.81.0" |
| |
| rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") |
| rust.toolchain( |
| edition = RUST_EDITION, |
| extra_target_triples = [ |
| "aarch64-unknown-linux-gnu", |
| "x86_64-unknown-linux-gnu", |
| ], |
| versions = [RUST_VERSION], |
| ) |
| use_repo(rust, "rust_toolchains") |
| |
| register_toolchains("@rust_toolchains//:all") |
| |
| ############################################################################### |
| # Rust Dependencies # |
| ############################################################################### |
| crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") |
| crate.spec( |
| package = "mimalloc", |
| version = "0.1.43", |
| ) |
| crate.spec( |
| package = "lz4-sys", |
| version = "1.11.1", |
| ) |
| crate.from_specs() |
| use_repo(crate, "crates") |