Skip to content

Commit 4d058ba

Browse files
keithphlax
authored andcommitted
bazel: Add LLVM toolchain
Signed-off-by: Keith Smiley <[email protected]> Signed-off-by: Ryan Northey <[email protected]>
1 parent af84a17 commit 4d058ba

6 files changed

+29
-0
lines changed

.bazelrc

+3
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ build --action_env=BAZEL_VOLATILE_DIRTY --host_action_env=BAZEL_VOLATILE_DIRTY
4646
# Requires setting `BAZEL_FAKE_SCM_REVISION` in the env.
4747
build --action_env=BAZEL_FAKE_SCM_REVISION --host_action_env=BAZEL_FAKE_SCM_REVISION
4848

49+
# build --incompatible_enable_cc_toolchain_resolution
50+
51+
# build --enable_platform_specific_config
4952
build --test_summary=terse
5053

5154
# TODO(keith): Remove once these 2 are the default

WORKSPACE

+4
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@ envoy_python_dependencies()
2323
load("//bazel:dependency_imports.bzl", "envoy_dependency_imports")
2424

2525
envoy_dependency_imports()
26+
27+
load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains")
28+
29+
llvm_register_toolchains()

bazel/dependency_imports.bzl

+6
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ load("@com_github_aignas_rules_shellcheck//:deps.bzl", "shellcheck_dependencies"
1616
load("@aspect_bazel_lib//lib:repositories.bzl", "register_jq_toolchains", "register_yq_toolchains")
1717
load("@com_google_cel_cpp//bazel:deps.bzl", "parser_deps")
1818
load("@com_github_chrusty_protoc_gen_jsonschema//:deps.bzl", protoc_gen_jsonschema_go_dependencies = "go_dependencies")
19+
load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain")
1920

2021
# go version for rules_go
2122
GO_VERSION = "1.18"
@@ -149,6 +150,11 @@ def envoy_dependency_imports(go_version = GO_VERSION, jq_version = JQ_VERSION, y
149150

150151
protoc_gen_jsonschema_go_dependencies()
151152

153+
llvm_toolchain(
154+
name = "llvm_toolchain",
155+
llvm_version = "14.0.0",
156+
)
157+
152158
def envoy_download_go_sdks(go_version):
153159
go_download_sdk(
154160
name = "go_linux_amd64",

bazel/repositories.bzl

+1
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ def envoy_dependencies(skip_targets = []):
318318
external_http_archive("bazel_toolchains")
319319
external_http_archive("bazel_compdb")
320320
external_http_archive("envoy_build_tools")
321+
external_http_archive("com_grail_bazel_toolchain")
321322

322323
# TODO(keith): Remove patch when we update rules_pkg
323324
external_http_archive(

bazel/repositories_extra.bzl

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ load("@rules_python//python:repositories.bzl", "python_register_toolchains")
33
load("@proxy_wasm_cpp_host//bazel/cargo/wasmtime:crates.bzl", "wasmtime_fetch_remote_crates")
44
load("//bazel/external/cargo:crates.bzl", "raze_fetch_remote_crates")
55
load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies")
6+
load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies")
67

78
def _python_minor_version(python_version):
89
return "_".join(python_version.split(".")[:-1])
@@ -27,3 +28,4 @@ def envoy_dependencies_extra(
2728
)
2829

2930
aspect_bazel_lib_dependencies()
31+
bazel_toolchain_dependencies()

bazel/repository_locations.bzl

+13
Original file line numberDiff line numberDiff line change
@@ -1446,6 +1446,19 @@ REPOSITORY_LOCATIONS_SPEC = dict(
14461446
license = "Apache-2.0",
14471447
license_url = "https://github.com/bazelbuild/rules_license/blob/{version}/LICENSE",
14481448
),
1449+
com_grail_bazel_toolchain = dict(
1450+
project_name = "com_grail_bazel_toolchain",
1451+
project_desc = "A LLVM toolchain for bazel",
1452+
project_url = "https://github.com/grailbio/bazel-toolchain",
1453+
strip_prefix = "bazel-toolchain-{version}",
1454+
version = "70a0fb556662fe3cadb07da32c91e232eb0d883d",
1455+
sha256 = "54570e20b8c94c324b0684998893f730afcc4b12e1ebcec0246c1d0301ae4847",
1456+
urls = ["https://github.com/grailbio/bazel-toolchain/archive/{version}.tar.gz"],
1457+
use_category = [],
1458+
extensions = [],
1459+
release_date = "2023-01-06",
1460+
cpe = "N/A",
1461+
),
14491462
utf8_range = dict(
14501463
project_name = "utf8_range",
14511464
project_desc = "Fast UTF-8 validation with Range algorithm (NEON+SSE4+AVX2)",

0 commit comments

Comments
 (0)