Minimum bazel version: 7.0.0
If you're using bzlmod, add the following to MODULE.bazel:
bazel_dep(name = "toolchains_llvm", version = "1.8.0")
# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm.toolchain(
llvm_version = "16.0.0",
)
use_repo(llvm, "llvm_toolchain")
# use_repo(llvm, "llvm_toolchain_llvm") # if you depend on specific tools in scripts
register_toolchains("@llvm_toolchain//:all")To directly use a commit from GitHub, add this block and replace commit with the commit you want.
git_override(
module_name = "toolchains_llvm",
commit = "332d6856cf41452acbd0ee2636e00232c251dd65",
remote = "https://github.com/bazel-contrib/toolchains_llvm",
)If not using bzlmod, include this section in your WORKSPACE:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "toolchains_llvm",
sha256 = "3b05826f256040f91c24dcaad673eb1c91e4cc93f4043d0205f2512327640205",
strip_prefix = "toolchains_llvm-v1.8.0",
canonical_id = "v1.8.0",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/v1.8.0/toolchains_llvm-v1.8.0.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo")
# If you see an error:
# ERROR: Cycle caused by autoloads, failed to load .bzl file '@@cc_compatibility_proxy//:symbols.bzl'.
# then you might need to add the following to your .bzelrc:
# common --repositories_without_autoloads=cc_compatibility_proxy
compatibility_proxy_repo()
load("@toolchains_llvm//toolchain:rules.bzl", "llvm_toolchain")
llvm_toolchain(
name = "llvm_toolchain",
llvm_version = "16.0.0",
)
load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
llvm_register_toolchains()What's Changed
- Add LLVM 22.1.0 and 22.1.1 distribution checksums by @SiarheiFedartsou in #698
- chore(deps): update dependency com_google_protobuf to v34.1 by @renovate[bot] in #699
- chore(deps): update dependency bazel_features to v1.44.0 by @renovate[bot] in #701
- Fix LLVM binary resolution for unrecognized Linux distros by @zakcutner in #703
- chore(deps): update dependency rules_cc to v0.2.18 by @renovate[bot] in #709
- chore: fix llvm_checksums.sh and update LLVM 22.1.2-22.1.4 checksums by @helly25 in #710
- chore(deps): update dependency rules_python to v2 by @renovate[bot] in #711
- chore(deps): update dependency tar.bzl to v0.10.1 by @renovate[bot] in #704
- chore(deps): update dependency rules_shell to v0.8.0 by @renovate[bot] in #702
- chore(deps): update dependency bazel_features to v1.46.0 by @renovate[bot] in #705
- chore(deps): update dependency tar.bzl to v0.10.2 by @renovate[bot] in #715
- chore(deps): update dependency rules_python to v2 by @renovate[bot] in #712
- chore(deps): update dependency aspect_bazel_lib to v3.3.1 by @renovate[bot] in #713
- chore(deps): update dependency platforms to v1.1.0 by @renovate[bot] in #716
- Export cc-wrapper from LLVM toolchain repo by @matt-sm in #714
- chore(deps): update dependency bazel_features to v1.47.0 by @renovate[bot] in #717
- chore: ignore .trunk/out directory by @helly25 in #718
- chore: disable renovate in trunk config by @helly25 in #719
- chore(deps): update softprops/action-gh-release action to v3 by @renovate[bot] in #707
- Fix buildifier by @helly25 in #720
- Disable broken boringssl test by @helly25 in #721
- Update rules_rust to 0.70.0 and fix macOS external test builds by @helly25 in #722
- download_llvm: keep bundled-distro fallback reproducible by @Wheest in #723
- chore(deps): update dependency tar.bzl to v0.10.4 by @renovate[bot] in #724
- Fix run_external_tests.sh shellcheck issues by @helly25 in #725
- feat: Add extra_linker_files by @mkosiba in #708
- chore(deps): update dependency boringssl to v0.20260508.0 by @renovate[bot] in #670
- Auto-detect GCC C++ headers in sysroot for libstdc++ cross-compilation by @srikantharun in #650
- toolchain: Switch to
link_libsforlibstdc++by @phlax in #625 - Upgrade trunk plugins to v1.9.0 for macOS shellcheck fix by @helly25 in #727
- chore(deps): update dependency rules_python to v2.0.1 by @renovate[bot] in #728
- chore(deps): update dependency rules_python to v2.0.1 by @renovate[bot] in #729
- ci: add stdlib matrix testing (libc++, stdc++, dynamic-stdc++) by @helly25 in #726
- llvm_distributions: add 22.1.5 releases by @helly25 in #730
- chore(deps): update dependency bazel_features to v1.47.1 by @renovate[bot] in #732
- chore(deps): update dependency tar.bzl to v0.10.5 by @renovate[bot] in #733
- distributions: split inline table into JSONC buckets by @helly25 in #734
- chore(deps): update dependency com_google_protobuf to v35 by @renovate[bot] in #735
- fix linux stdc++ sysroot include ordering by @matt-sm in #736
- distributions: expand base_url templates at JSONC load time by @helly25 in #737
- chore(deps): update dependency rules_python to v2.0.2 by @renovate[bot] in #738
- chore(deps): update dependency boringssl to v0.20260526.0 by @renovate[bot] in #741
- chore(deps): update dependency boringssl to v0.20260526.0 by @renovate[bot] in #742
- Add target_toolchain_roots and make sysroot more hermetic by @AustinSchuh in #441
- Apply the path-prefix slash convention to sysroot_path by @AustinSchuh in #743
- chore(deps): update dependency helly25_bzl to v0.4.0 by @renovate[bot] in #744
- Fix default url handling by @helly25 in #745
- helly25/bzl to 0.4.1 by @helly25 in #747
- Add per-target extra_compiler_files and extra_linker_files bzlmod tags by @matt-sm in #749
- chore(deps): update dependency io_bazel_rules_go to v0.61.0 by @renovate[bot] in #751
- chore(deps): update dependency rules_go to v0.61.0 by @renovate[bot] in #752
- chore(deps): update dependency rules_cc to v0.2.19 by @renovate[bot] in #750
- darwin: use the SDK's libc++; rework system include handling by @AustinSchuh in #748
- Add LLVM 22.1.7 by @helly25 in #754
- Redact date macros via -imacros header instead of -D on command line by @matt-sm in #756
- ci: aggregate required checks into a single required_checks_done gate by @helly25 in #757
- chore(deps): update dependency helly25_bzl to v0.4.2 by @renovate[bot] in #746
- chore(deps): update dependency io_bazel_rules_go to v0.61.1 by @renovate[bot] in #758
- chore(deps): update dependency rules_go to v0.61.1 by @renovate[bot] in #759
- Support dynamic libstdc++ and Yocto sysroot layouts by @AustinSchuh in #753
- chore(deps): update dependency helly25_bzl to v0.4.3 by @renovate[bot] in #760
- Include extra_compiler_files in cxx_builtin_include_files by @matt-sm in #755
- chore(deps): update dependency bazel_features to v1.48.0 by @renovate[bot] in #763
- chore(deps): update dependency bazel_features to v1.48.1 by @renovate[bot] in #766
- Build toolchain paths with helly25_bzl paths.join / ensure_trailing_slash by @helly25 in #761
- Add MemorySanitizer support; drive all sanitizers via Bazel features by @AustinSchuh in #765
- Add support for riscv64-unknown-none-elf targets by @edholmes2232 in #768
- osx: sanitizer runtime via dynamic_runtime_lib + @loader_path rpath (fixes #192) by @helly25 in #769
- chore(deps): update protobuf monorepo to v35.1 by @renovate[bot] in #770
New Contributors
- @SiarheiFedartsou made their first contribution in #698
- @zakcutner made their first contribution in #703
- @matt-sm made their first contribution in #714
- @Wheest made their first contribution in #723
- @mkosiba made their first contribution in #708
- @srikantharun made their first contribution in #650
- @edholmes2232 made their first contribution in #768
Full Changelog: v1.7.0...v1.8.0