module( name = "envoy_toolshed", version = "0.3.24", bazel_compatibility = [">=7.2.1"], ) bazel_dep(name = "aspect_bazel_lib", version = "2.22.0") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "rules_foreign_cc", version = "0.15.1") bazel_dep(name = "rules_pkg", version = "1.1.0") bazel_dep(name = "rules_python", version = "1.7.0") bazel_dep(name = "rules_shell", version = "0.6.1") bazel_dep(name = "toolchains_llvm", version = "1.6.0", dev_dependency = True) bazel_lib_toolchains = use_extension("@aspect_bazel_lib//lib:extensions.bzl", "toolchains") bazel_lib_toolchains.jq(version = "1.7") use_repo(bazel_lib_toolchains, "jq", "jq_toolchains") PYTHON_VERSIONS = [ "3.12", ] python = use_extension("@rules_python//python/extensions:python.bzl", "python") [ python.toolchain( is_default = python_version == PYTHON_VERSIONS[-1], python_version = python_version, ) for python_version in PYTHON_VERSIONS ] pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") [ pip.parse( hub_name = "pip3", python_version = python_version, requirements_lock = "//:requirements.txt", ) for python_version in PYTHON_VERSIONS ] [ pip.parse( hub_name = "website_pip3", python_version = python_version, requirements_lock = "//website:requirements.txt", ) for python_version in PYTHON_VERSIONS ] use_repo(pip, "pip3", "website_pip3") # Load llvm_source for compile targets http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "llvm_source", build_file_content = """filegroup(name = "all", srcs = glob(["**"]), visibility = ["//visibility:public"])""", sha256 = "09c08693a9afd6236f27a2ebae62cda656eba19021ef3f94d59e931d662d4856", strip_prefix = "llvm-project-llvmorg-18.1.8", url = "https://github.com/llvm/llvm-project/archive/llvmorg-18.1.8.tar.gz", ) # Setup sysroots for LLVM toolchain using the sysroot extension sysroot_ext = use_extension("//sysroot:extensions.bzl", "sysroot_extension", dev_dependency=True) sysroot_ext.setup() use_repo(sysroot_ext, "sysroot_linux_amd64", "sysroot_linux_arm64") # Setup sanitizer libraries (MSAN and TSAN) - example for downstream consumers # Uncomment to use in your MODULE.bazel: # sanitizer_ext = use_extension("@envoy_toolshed//compile:extensions.bzl", "sanitizer_extension") # sanitizer_ext.setup() # Uses default versions from VERSIONS # # Or with custom versions: # # sanitizer_ext.setup( # # msan_version = "0.1.34", # # msan_sha256 = "534e5e6893f177f891d78d6e85a80c680c84f0abd64681f8ddbf2f5457e97a52", # # tsan_version = "0.1.34", # # tsan_sha256 = "2cd571a07014972ff9bc0f189c5725c2ea121aeab0daa4c27ef171842ea13985", # # ) # use_repo(sanitizer_ext, "msan_libs", "tsan_libs") # Setup grcov for code coverage - example for downstream consumers # Uncomment to use in your MODULE.bazel: # grcov_ext = use_extension("@envoy_toolshed//coverage/grcov:extensions.bzl", "grcov_extension") # grcov_ext.setup() # use_repo(grcov_ext, "grcov") # Configure LLVM toolchain llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency=True) llvm.toolchain( name = "llvm_toolchain", llvm_version = "18.1.8", ) llvm.sysroot( name = "llvm_toolchain", label = "@sysroot_linux_amd64//:sysroot", targets = ["linux-x86_64"], ) llvm.sysroot( name = "llvm_toolchain", label = "@sysroot_linux_arm64//:sysroot", targets = ["linux-aarch64"], ) use_repo(llvm, "llvm_toolchain") register_toolchains("@llvm_toolchain//:all", dev_dependency = True)