1# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
2# See https://llvm.org/LICENSE.txt for license information.
3# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5"""An example WORKSPACE for configuring LLVM using http_archive."""
6
7workspace(name = "http_archive_example")
8
9load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
10
11SKYLIB_VERSION = "1.0.3"
12
13http_archive(
14    name = "bazel_skylib",
15    sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44",
16    urls = [
17        "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version=SKYLIB_VERSION),
18        "https://github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version=SKYLIB_VERSION),
19    ],
20)
21
22# Replace with the LLVM commit you want to use.
23LLVM_COMMIT = "81d5412439efd0860c0a8dd51b831204f118d485"
24
25# The easiest way to calculate this for a new commit is to set it to empty and
26# then run a bazel build and it will report the digest necessary to cache the
27# archive and make the build reproducible.
28LLVM_SHA256 = "50b3ef31b228ea0c96ae074005bfac087c56e6a4b1c147592dd33f41cad0706b"
29
30http_archive(
31    name = "llvm-raw",
32    build_file_content = "# empty",
33    sha256 = LLVM_SHA256,
34    strip_prefix = "llvm-project-" + LLVM_COMMIT,
35    urls = ["https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT)],
36)
37
38load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure", "llvm_disable_optional_support_deps")
39
40llvm_configure(name = "llvm-project")
41
42# Disables optional dependencies for Support like zlib and terminfo. You may
43# instead want to configure them using the macros in the corresponding bzl
44# files.
45llvm_disable_optional_support_deps()
46