Releases: bazel-contrib/toolchains_llvm
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.
Release 0.8
Changes since 0.7
- Do not depend on gcc or libgcc install
- Fix default key logic in urls attribute
- Properly handle system paths for LLVM distribution
- Fix use of absolute paths with sysroots
- Support for Pop!_OS and RHEL in LLVM fetch logic
- Small code and documentation cleanups
- Fix support for Bazel 4.2
- Support for LLVM 14
- Minor bug fixes
Release 0.7
Changes since release 0.6.3:
- Ability to override compiler and linker flags from different bazel feature groups (c0e0937).
- URLs for LLVM archives as an alternative to
toolchain_roots
throughhttp_archive
(c728048). - stdlib implementation and cxx_standard can now be specified (38ab9f6 and 5105e05).
- Convenience targets for
libomp
,clang-format
andllvm-cov
in@llvm_toolchain//
(7e2edd4 and c728048). - [breaking] lpthread and ldl are now removed from default
link_libs
(7580bbe).
Release 0.6.3
Changes since 0.6.2:
- The platform targets in
platforms/
are now public (#107, thanks @dududko) dwp
,objcopy
, andstrip
binaries are symlinked correctly; this fixes.stripped
and.dwp
targets (#108, thanks @fishcakez)- Makevars support has been dropped (see this commit)
- LLVM 13 distributions have been added (#113, thanks @yasushi-saito)
- LLVM 12.0.1 distributions have also been added
- Workarounds for old
libtool
versions that don't support parameter files have been added (#115)
New Contributors
- @dududko made their first contribution in #107
- @fishcakez made their first contribution in #108
Full Diff: 0.6.2...0.6.3
Release 0.6
Changes since release 0.5:
- [breaking] Minimum required bazel version is now 4.0.0.
- [breaking] Attributes of
llvm_toolchain
rule have been changed or deleted. - Support for LLVM versions up to 12.0.0.
- We now track cc_toolchain_config from @bazel_tools giving us LTO, etc. (thanks @rrbutani).
- LLVM distribution and toolchain configuration are now separate repos.
- Cross-compilation is now supported.
- Better and more detection of host OS.
- Mirror URLs are now tried first.
- netrc auth support for private mirror for LLVM downloads.
- Support and test compatibility with rules_foreign_cc.
- Minor fixes.