Releases: bazel-contrib/toolchains_llvm
v1.2.0
Minimum bazel version: 7.0.0
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "1.2.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 = "6edc43be7e52d9f44bc842a9956bd40213b972b1",
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 = "e3fb6dc6b77eaf167cb2b0c410df95d09127cbe20547e5a329c771808a816ab4",
strip_prefix = "toolchains_llvm-v1.2.0",
canonical_id = "v1.2.0",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/v1.2.0/toolchains_llvm-v1.2.0.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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
- chore(deps): update dependency abseil-cpp to v20240722 by @renovate in #367
- chore(deps): update dependency rules_rust to v0.49.0 by @renovate in #365
- chore(deps): update dependency rules_rust to v0.49.1 by @renovate in #368
- chore(deps): update dependency com_google_absl to v20240722 by @renovate in #366
- chore(deps): update dependency rules_rust to v0.49.2 by @renovate in #369
- chore(deps): update dependency rules_foreign_cc to v0.12.0 by @renovate in #373
- chore(deps): update dependency rules_rust to v0.49.3 by @renovate in #370
- Added support for 18.1.8, extended 18.1.7 by @svenpanne in #374
- Export share/clang/* from llvm_toolchain by @mrkkrp in #375
- Make LLD work with clang18 by @dzbarsky in #379
- Add new arm64 macOS binary by @keith in #381
- Update apple
release_name
for version >= 18 by @Danielkonge in #382 - Allow user provided platform constraints by @jkurland-roku in #371
- Add LLVM 19 by @mering in #392
- Allow debian to use LLVM 18 by @TylerSeanRau in #394
- Added option to skip linking against
libunwind
by @mmaslankaprv in #346 - Fix release notes template tag. by @sputt in #393
New Contributors
- @svenpanne made their first contribution in #374
- @mrkkrp made their first contribution in #375
- @Danielkonge made their first contribution in #382
- @jkurland-roku made their first contribution in #371
- @mering made their first contribution in #392
- @TylerSeanRau made their first contribution in #394
- @mmaslankaprv made their first contribution in #346
- @sputt made their first contribution in #393
Full Changelog: v1.1.2...v1.2.0
v1.1.2
Minimum bazel version: 7.0.0
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "v1.1.2")
# To directly use a commit from GitHub, replace commit with the commit you want.
# Otherwise, omit this block.
git_override(
module_name = "toolchains_llvm",
commit = "e0ffa169a2572e9f35a52de60fe746831d1e2a0a",
remote = "https://github.com/bazel-contrib/toolchains_llvm",
)
# 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")
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 = "c304fc9286c6fa2acb6dcea8961dc0d526a076f8cb64da4763c36aebcf5cff56",
strip_prefix = "toolchains_llvm-v1.1.2",
canonical_id = "v1.1.2",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/v1.1.2/toolchains_llvm-v1.1.2.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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
Full Changelog: v1.1.1...v1.1.2
v1.1.1
Minimum bazel version: 7.0.0
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "v1.1.1")
# To directly use a commit from GitHub, replace commit with the commit you want.
# Otherwise, omit this block.
git_override(
module_name = "toolchains_llvm",
commit = "6117a351efc2e12a98f58162b0c5f75ca68510f7",
remote = "https://github.com/bazel-contrib/toolchains_llvm",
)
# 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")
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 = "644668929813e99430e27d45d95d070ffa0046291e8de8f7bd2af289799567bd",
strip_prefix = "toolchains_llvm-v1.1.1",
canonical_id = "v1.1.1",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/v1.1.1/toolchains_llvm-v1.1.1.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Minimum bazel version: 7.0.0
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "v1.1.0")
# To directly use a commit from GitHub, replace commit with the commit you want.
# Otherwise, omit this block.
git_override(
module_name = "toolchains_llvm",
commit = "8bf80b5ca3fa79ec278f3c172a9b78d3f9748d3b",
remote = "https://github.com/bazel-contrib/toolchains_llvm",
)
# 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")
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 = "f60727ccc31b578f9b9689064a21c874165a9652d4b0f43817c5eda479f1e3df",
strip_prefix = "toolchains_llvm-v1.1.0",
canonical_id = "v1.1.0",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/v1.1.0/toolchains_llvm-v1.1.0.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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
- Update compability_level in MODULE.bazel by @siddharthab in #295
- Revert "Update compability_level in MODULE.bazel" by @siddharthab in #296
- Also test docker exec test without bzlmod by @siddharthab in #297
- Revert accidental deletion by @siddharthab in #299
- Add LLVM 18 links by @adzenith in #302
- Add llvm-profdata for coverage data merging by @fernride-jissing in #307
- Update buildifier by @keith in #311
- Use paths.join for sysroot_prefix by @keith in #310
- Fix double slashes for sysroot = / by @keith in #312
- Fix CI by switching back to x86 Mac runners by @fmeum in #320
- Add two more aliased tools by @jez in #321
- Add 18.1.3, 18.1.4, 18.1.5 downloads by @lalten in #325
- Force Clang modules with LLVM >= 14 by @fmeum in #337
- feat: add 18.1.6 and 18.1.7 by @peakschris in #341
- Fix support for --incompatible_disallow_empty_glob by @keith in #331
(renovate PRs omitted)
New Contributors
- @fernride-jissing made their first contribution in #307
- @peakschris made their first contribution in #341
Full Changelog: 1.0.0...v1.1.0
1.0.0
Minimum bazel version: 7.0.0
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "1.0.0")
# To directly use a commit from GitHub, replace commit with the commit you want.
# Otherwise, omit this block.
git_override(
module_name = "toolchains_llvm",
commit = "329910897f3114f3f5d24407d9abf49b244056d2",
remote = "https://github.com/bazel-contrib/toolchains_llvm",
)
# 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")
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 = "e91c4361f99011a54814e1afbe5c436e0d329871146a3cd58c23a2b4afb50737",
strip_prefix = "toolchains_llvm-1.0.0",
canonical_id = "1.0.0",
url = "https://github.com/bazel-contrib/toolchains_llvm/releases/download/1.0.0/toolchains_llvm-1.0.0.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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
- Fix release notes template by @mikebauer in #222
- Avoid calling xcrun on darwin if we don't need to by @dzbarsky in #223
- add 14.0.6 with arm64 apple-darwin by @nolen777 in #225
- Set release name for ubuntu + 17.0.2 by @oliverlee in #226
- Better document supports_dynamic_linker by @siddharthab in #230
- Use rctx.read instead of cat to parse /etc/os-release by @dzbarsky in #231
- Update 17.0.1 and 17.0.2 hashes by @adzenith in #232
- update hashes for 17.03, 17.04 by @asa in #239
- add 17.0.2 for macOS arm64 by @garymm in #236
- Add all_includes target for building loadable clang-tidy plugins by @molar in #188
- 17.0.5 and 17.0.6 for x86_64 by @steple in #241
- Add support for
layering_check
by @fmeum in #246 - Prepare for transfer to bazel-contrib by @siddharthab in #251
- Configure Renovate by @renovate in #252
- List new shasum for recent releases by @siddharthab in #255
- Update dependency bazel_skylib to v1.5.0 by @renovate in #260
- Update dependency com_google_googletest to v1.14.0 by @renovate in #266
- Update dependency bazel_skylib to v1.5.0 by @renovate in #264
- Update dependency com_github_google_benchmark to v1.8.3 by @renovate in #265
- Update dependency rules_foreign_cc to v0.10.1 by @renovate in #267
- Update rules_rust digest to a844b19 by @renovate in #263
- Update actions/checkout action to v4 by @renovate in #269
- Update dependency rules_rust to v0.38.0 by @renovate in #268
- Update dependency rules_cc to v0.0.9 by @renovate in #271
- Update dependency platforms to v0.0.8 by @renovate in #270
- Update dependency rules_rust to v0.39.0 by @renovate in #274
- Add support for Oracle Linux by @scasagrande in #278
- Update dependency rules_rust to v0.40.0 by @renovate in #279
- Update softprops/action-gh-release action to v2 by @renovate in #282
- Add support for AlmaLinux by @scasagrande in #281
- Add planned members to code owners by @siddharthab in #283
- Move minimum supported version to Bazel 7.0.0 by @siddharthab in #229
- Update remaining deps by @siddharthab in #284
- Do not fail if not matching LLVM toolchain root is found by @gferon in #249
- Add missing LLVM binaries by @Bo98 in #277
- Also check VERSION_CODENAME by @siddharthab in #285
- Do not assume ID_LIKE by @siddharthab in #287
- Resolve
Label
s for toolchain roots and sysroots correctly underbzlmod
by @rrbutani in #235 - Fix typo in test script by @siddharthab in #288
- Warn when not generating toolchain by @siddharthab in #289
- Fix santizers on MacOS that require dylibs in the LLVM toolchain. by @timbess in #250
- Revert "Warn when not generating toolchain" by @siddharthab in #290
- Add
extra_compiler_files
attribute to make ignorelist files available to sanitizers during compilation by @lalten in #245 - Support exec platform different from host by @siddharthab in #292
- Support LLD linker for Darwin by @siddharthab in #286
- Make system module map generation faster and fully hermetic by @fmeum in #280
- Replace references of "host" with "exec". by @siddharthab in #294
New Contributors
- @mikebauer made their first contribution in #222
- @nolen777 made their first contribution in #225
- @asa made their first contribution in #239
- @molar made their first contribution in #188
- @steple made their first contribution in #241
- @fmeum made their first contribution in #246
- @renovate made their first contribution in #252
- @Bo98 made their first contribution in #277
- @timbess made their first contribution in #250
Full Changelog: 0.10.3...1.0.0
0.10.3
Minimum bazel version: 6.0.0 (6.1.0 if using blzmod)
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "0.10.3")
# To directly use a commit from GitHub, replace commit with the commit you want.
# Otherwise, omit this block.
git_override(
module_name = "toolchains_llvm",
commit = "42e0b400fe316797657ccc5d7d2f9bb6f13071d8",
remote = "https://github.com/grailbio/bazel-toolchain",
)
# 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 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 = "b7cd301ef7b0ece28d20d3e778697a5e3b81828393150bed04838c0c52963a01",
strip_prefix = "toolchains_llvm-0.10.3",
canonical_id = "0.10.3",
url = "https://github.com/grailbio/bazel-toolchain/releases/download/0.10.3/toolchains_llvm-0.10.3.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
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()
And add the following section to your .bazelrc file:
# Not needed after https://github.com/bazelbuild/bazel/issues/7260 is closed
build --incompatible_enable_cc_toolchain_resolution
# For macOS only:
# Needed for Bazel versions before 7.
# Without this, one can use `--linkopt='-undefined dynamic_lookup'`.
# This feature is intentionally not supported on macOS.
build --features=-supports_dynamic_linker
# Not needed after https://github.com/grailbio/bazel-toolchain/pull/229.
build --features=-libtool
What's Changed
- 15.0.2 and fixes /etc/os-release parsing bug by @scasagrande in #217
- Forward all attributes to bzlmod extension by @siddharthab in #218
- Add 16.0.5 and 16.0.6 distributions by @adzenith in #220
- Update LLVM versions in tests by @siddharthab in #221
New Contributors
Full Changelog: 0.10.2...0.10.3
0.10.2
Minimum bazel version: 6.0.0 (6.1.0 if using blzmod)
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "0.10.2")
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 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 = "d56c0442a694dfcc47b1e561039c2f94a9cb0f91248a8ebede3dc2bc1247c48f",
strip_prefix = "toolchains_llvm-0.10.2",
canonical_id = "0.10.2",
url = "https://github.com/grailbio/bazel-toolchain/releases/download/0.10.2/toolchains_llvm-0.10.2.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
load("@toolchains_llvm//toolchain:rules.bzl", "llvm_toolchain")
llvm_toolchain(
name = "llvm_toolchain",
llvm_version = "16.0.0",
)
load("@toolchains_llvm//:toolchains.bzl", "llvm_register_toolchains")
llvm_register_toolchains()
And add the following section to your .bazelrc file:
# Not needed after https://github.com/bazelbuild/bazel/issues/7260 is closed
build --incompatible_enable_cc_toolchain_resolution
# For macOS only:
# Needed for Bazel versions before 7.
# Without this, one can use `--linkopt='-undefined dynamic_lookup'`.
# This feature is intentionally not supported on macOS.
build --features=-supports_dynamic_linker
# Not needed after https://github.com/grailbio/bazel-toolchain/pull/229.
build --features=-libtool
Full Changelog: 0.10.1...0.10.2
0.10.1
Minimum bazel version: 6.0.0 (6.1.0 if using blzmod)
If you're using bzlmod
, add the following to MODULE.bazel
:
bazel_dep(name = "toolchains_llvm", version = "0.10.1")
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 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 = "c32e6fc537e78f17e88c9cfe6c06a0db5e43b8098862dd65a62e44c9a4ea2cce",
strip_prefix = "toolchains_llvm-0.10.1",
canonical_id = "0.10.1",
url = "https://github.com/grailbio/bazel-toolchain/releases/download/0.10.1/toolchains_llvm-0.10.1.tar.gz",
)
load("@toolchains_llvm//toolchain:deps.bzl", "bazel_toolchain_dependencies")
bazel_toolchain_dependencies()
load("@toolchains_llvm//toolchain:rules.bzl", "llvm_toolchain")
llvm_toolchain(
name = "llvm_toolchain",
llvm_version = "16.0.0",
)
load("@toolchains_llvm//:toolchains.bzl", "llvm_register_toolchains")
llvm_register_toolchains()
And add the following section to your .bazelrc file:
# Not needed after https://github.com/bazelbuild/bazel/issues/7260 is closed
build --incompatible_enable_cc_toolchain_resolution
# For macOS only:
# Needed for Bazel versions before 7.
# Without this, one can use `--linkopt='-undefined dynamic_lookup'`.
# This feature is intentionally not supported on macOS.
build --features=-supports_dynamic_linker
# Not needed after https://github.com/grailbio/bazel-toolchain/pull/229.
build --features=-libtool
Full Changelog: 0.10.0...0.10.1
Release 0.10.0
Changes since 0.9:
- Rename to toolchains_llvm
- Other minor invisible cleanups
This release is intended to be the first publication to Bazel Central Registry.
Release 0.9
Changes since release 0.8:
- Support for bzlmod.
- Better support for newer versions of macOS.
- Support for Apple silicon.
- More robust LLVM release detection.
- Miscellaneous cleanups.
Many thanks to everyone who contributed. This release would not have been possible without so many good quality community contributions.