blob: e65c9b7e75f0f74cdc6f1bb996685f6584df4f35 [file] [edit]
# Part of the Crubit project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
module(
name = "rules_crubit",
version = "0.0.1",
)
bazel_dep(name = "rules_rust", version = "0.71.3")
bazel_dep(name = "rules_cc", version = "0.2.19")
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "abseil-cpp", version = "20260526.0")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "fuzztest", version = "20250214.0")
bazel_dep(name = "google_benchmark", version = "1.9.1")
bazel_dep(name = "googletest", version = "1.17.0")
bazel_dep(name = "platforms", version = "1.1.0")
bazel_dep(name = "protobuf", version = "35.0")
bazel_dep(name = "re2", version = "2024-07-02.bcr.1")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_python", version = "1.7.0")
bazel_dep(name = "toolchains_llvm", version = "1.8.0")
# We don't directly use `rules_foreign_cc`, but *something* does, and depends on an
# out of date version that doesn't work with newer Bazel releases. So here we force
# it to be a newer version.
bazel_dep(name = "rules_foreign_cc", version = "0.15.0")
########################################################################
# Building of Clang/LLVM from sources
llvm_ext = use_extension("//bazel:llvm_extension.bzl", "llvm_extension")
llvm_ext.configure(commit = "a6b0af7536ef0ae8383ec729c5fbf23c73243776")
use_repo(llvm_ext, "llvm-raw", "llvm_libxml2", "llvm_zlib", "llvm_zstd")
llvm_configure = use_repo_rule("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure")
llvm_configure(name = "llvm-project")
########################################################################
# Rust Crate Dependencies
crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate")
crate.from_cargo(
name = "crate_index",
cargo_lockfile = "//:Cargo.lock",
lockfile = "//:Cargo.Bazel.lock",
manifests = [
"//:Cargo.toml",
],
)
use_repo(crate, "crate_index")
crubit_toolchains = use_extension("//bazel:extensions.bzl", "crubit_toolchains")
crubit_toolchains.configure(
llvm_version = "22.1.0",
rust_version = "nightly/2026-07-01",
)
use_repo(crubit_toolchains, "llvm_toolchain", "llvm_version_check", "rust_toolchains")
register_toolchains(
"@rust_toolchains//:all",
"@llvm_toolchain//:all",
"//common/bazel_support/toolchains:cc_bindings_from_rs_on_demand_linux",
)