| # This file is licensed under the Apache License v2.0 with LLVM Exceptions. | 
 | # See https://llvm.org/LICENSE.txt for license information. | 
 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
 |  | 
 | """An example WORKSPACE for configuring LLVM using http_archive.""" | 
 |  | 
 | workspace(name = "http_archive_example") | 
 |  | 
 | load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") | 
 |  | 
 | SKYLIB_VERSION = "1.0.3" | 
 |  | 
 | http_archive( | 
 |     name = "bazel_skylib", | 
 |     sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44", | 
 |     urls = [ | 
 |         "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = SKYLIB_VERSION), | 
 |         "https://github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = SKYLIB_VERSION), | 
 |     ], | 
 | ) | 
 |  | 
 | # Replace with the LLVM commit you want to use. | 
 | LLVM_COMMIT = "926f85db98aae66ab8f57b9981f47ddddb868c51" | 
 |  | 
 | # The easiest way to calculate this for a new commit is to set it to empty and | 
 | # then run a bazel build and it will report the digest necessary to cache the | 
 | # archive and make the build reproducible. | 
 | LLVM_SHA256 = "c78c94b2a03b2cf6ef1ba035c31a6f1b0bb7913da8af5aa8d5c2061f6499d589" | 
 |  | 
 | http_archive( | 
 |     name = "llvm-raw", | 
 |     build_file_content = "# empty", | 
 |     sha256 = LLVM_SHA256, | 
 |     strip_prefix = "llvm-project-" + LLVM_COMMIT, | 
 |     urls = ["https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT)], | 
 | ) | 
 |  | 
 | load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure") | 
 |  | 
 | llvm_configure(name = "llvm-project") | 
 |  | 
 | load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") | 
 |  | 
 | maybe( | 
 |     http_archive, | 
 |     name = "llvm_zlib", | 
 |     build_file = "@llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD", | 
 |     sha256 = "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731", | 
 |     strip_prefix = "zlib-ng-2.0.7", | 
 |     urls = [ | 
 |         "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip", | 
 |     ], | 
 | ) | 
 |  | 
 | maybe( | 
 |     http_archive, | 
 |     name = "llvm_zstd", | 
 |     build_file = "@llvm-raw//utils/bazel/third_party_build:zstd.BUILD", | 
 |     sha256 = "7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0", | 
 |     strip_prefix = "zstd-1.5.2", | 
 |     urls = [ | 
 |         "https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz", | 
 |     ], | 
 | ) |