Skip to content

Releases: bazel-contrib/toolchains_llvm

1.0.0

14 Mar 21:58
3299108
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 0.10.3...1.0.0

0.10.3

19 Sep 19:35
42e0b40
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: 0.10.2...0.10.3

0.10.2

14 Sep 09:17
Compare
Choose a tag to compare

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

14 Sep 08:07
Compare
Choose a tag to compare

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

14 Sep 07:08
bb94933
Compare
Choose a tag to compare

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

14 Sep 04:14
Compare
Choose a tag to compare

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

19 Dec 18:54
Compare
Choose a tag to compare

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

08 Mar 08:56
Compare
Choose a tag to compare

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 through http_archive (c728048).
  • stdlib implementation and cxx_standard can now be specified (38ab9f6 and 5105e05).
  • Convenience targets for libomp, clang-format and llvm-cov in @llvm_toolchain// (7e2edd4 and c728048).
  • [breaking] lpthread and ldl are now removed from default link_libs (7580bbe).

Release 0.6.3

14 Oct 15:25
4ed2de1
Compare
Choose a tag to compare

Changes since 0.6.2:

  • The platform targets in platforms/ are now public (#107, thanks @dududko)
  • dwp, objcopy, and strip 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

Full Diff: 0.6.2...0.6.3

Release 0.6

23 Sep 09:52
Compare
Choose a tag to compare

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.