[Github] Add lld to docs CI (#69821)
[llvm-project.git] / utils / bazel / WORKSPACE
blobc334658258f797c3a5a7a50a7bd15df4460d7d2e
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
5 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
6 load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
7 load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
9 SKYLIB_VERSION = "1.3.0"
11 http_archive(
12     name = "bazel_skylib",
13     sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
14     urls = [
15         "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version=SKYLIB_VERSION),
16         "https://github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version=SKYLIB_VERSION),
17     ],
20 new_local_repository(
21     name = "llvm-raw",
22     build_file_content = "# empty",
23     path = "../../",
26 load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure")
28 llvm_configure(name = "llvm-project")
30 maybe(
31     http_archive,
32     name = "llvm_zlib",
33     build_file = "@llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD",
34     sha256 = "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731",
35     strip_prefix = "zlib-ng-2.0.7",
36     urls = [
37         "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip",
38     ],
41 maybe(
42     http_archive,
43     name = "vulkan_headers",
44     build_file = "@llvm-raw//utils/bazel/third_party_build:vulkan_headers.BUILD",
45     sha256 = "19f491784ef0bc73caff877d11c96a48b946b5a1c805079d9006e3fbaa5c1895",
46     strip_prefix = "Vulkan-Headers-9bd3f561bcee3f01d22912de10bb07ce4e23d378",
47     urls = [
48         "https://github.com/KhronosGroup/Vulkan-Headers/archive/9bd3f561bcee3f01d22912de10bb07ce4e23d378.tar.gz",
49     ],
52 load("@llvm-raw//utils/bazel:vulkan_sdk.bzl", "vulkan_sdk_setup")
54 maybe(
55     vulkan_sdk_setup,
56     name = "vulkan_sdk",
59 # llvm libc math tests reply on `mpfr`.
60 # The availability of `mpfr` is controlled by a flag and can be either `disable`, `system` or `external`.
61 # Continuous integration uses `system` to speed up the build process (see .bazelrc).
62 # Otherwise by default it is set to `external`: `mpfr` and `gmp` are built from source by using `rules_foreign_cc`.
63 # Note: that building from source requires `m4` to be installed on the host machine.
64 # This is a known issue: https://github.com/bazelbuild/rules_foreign_cc/issues/755.
66 git_repository(
67     name = "rules_foreign_cc",
68     remote = "https://github.com/bazelbuild/rules_foreign_cc.git",
69     tag = "0.9.0",
72 load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
74 rules_foreign_cc_dependencies()
76 maybe(
77     http_archive,
78     name = "gmp",
79     build_file = "@llvm-raw//utils/bazel/third_party_build:gmp.BUILD",
80     sha256 = "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2",
81     strip_prefix = "gmp-6.2.1",
82     urls = [
83         "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz",
84         "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz",
85     ],
88 # https://www.mpfr.org/mpfr-current/
90 # When updating to a newer version, don't use URLs with "mpfr-current" in them.
91 # Instead, find a stable URL like the one used currently.
92 maybe(
93     http_archive,
94     name = "mpfr",
95     build_file = "@llvm-raw//utils/bazel/third_party_build:mpfr.BUILD",
96     sha256 = "9cbed5d0af0d9ed5e9f8dd013e17838eb15e1db9a6ae0d371d55d35f93a782a7",
97     strip_prefix = "mpfr-4.1.1",
98     urls = ["https://www.mpfr.org/mpfr-4.1.1/mpfr-4.1.1.tar.gz"],
101 maybe(
102     new_git_repository,
103     name = "pfm",
104     build_file = "@llvm-raw//utils/bazel/third_party_build:pfm.BUILD",
105     remote = "https://git.code.sf.net/p/perfmon2/libpfm4",
106     tag = "v4.12.1",
109 maybe(
110     http_archive,
111     name = "llvm_zstd",
112     build_file = "@llvm-raw//utils/bazel/third_party_build:zstd.BUILD",
113     sha256 = "7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0",
114     strip_prefix = "zstd-1.5.2",
115     urls = [
116         "https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz"
117     ],