llvm-project
131 строка · 4.4 Кб
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
5load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository")
6load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
7load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
8
9SKYLIB_VERSION = "1.3.0"
10
11http_archive(
12name = "bazel_skylib",
13sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506",
14urls = [
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],
18)
19
20new_local_repository(
21name = "llvm-raw",
22build_file_content = "# empty",
23path = "../../",
24)
25
26load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure")
27
28llvm_configure(name = "llvm-project")
29
30maybe(
31http_archive,
32name = "llvm_zlib",
33build_file = "@llvm-raw//utils/bazel/third_party_build:zlib-ng.BUILD",
34sha256 = "e36bb346c00472a1f9ff2a0a4643e590a254be6379da7cddd9daeb9a7f296731",
35strip_prefix = "zlib-ng-2.0.7",
36urls = [
37"https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.7.zip",
38],
39)
40
41maybe(
42http_archive,
43name = "vulkan_headers",
44build_file = "@llvm-raw//utils/bazel/third_party_build:vulkan_headers.BUILD",
45sha256 = "19f491784ef0bc73caff877d11c96a48b946b5a1c805079d9006e3fbaa5c1895",
46strip_prefix = "Vulkan-Headers-9bd3f561bcee3f01d22912de10bb07ce4e23d378",
47urls = [
48"https://github.com/KhronosGroup/Vulkan-Headers/archive/9bd3f561bcee3f01d22912de10bb07ce4e23d378.tar.gz",
49],
50)
51
52load("@llvm-raw//utils/bazel:vulkan_sdk.bzl", "vulkan_sdk_setup")
53
54maybe(
55vulkan_sdk_setup,
56name = "vulkan_sdk",
57)
58
59http_archive(
60name = "build_bazel_apple_support",
61sha256 = "c4bb2b7367c484382300aee75be598b92f847896fb31bbd22f3a2346adf66a80",
62url = "https://github.com/bazelbuild/apple_support/releases/download/1.15.1/apple_support.1.15.1.tar.gz",
63)
64
65load(
66"@build_bazel_apple_support//lib:repositories.bzl",
67"apple_support_dependencies",
68)
69
70apple_support_dependencies()
71
72# llvm libc math tests reply on `mpfr`.
73# The availability of `mpfr` is controlled by a flag and can be either `disable`, `system` or `external`.
74# Continuous integration uses `system` to speed up the build process (see .bazelrc).
75# Otherwise by default it is set to `external`: `mpfr` and `gmp` are built from source by using `rules_foreign_cc`.
76# Note: that building from source requires `m4` to be installed on the host machine.
77# This is a known issue: https://github.com/bazelbuild/rules_foreign_cc/issues/755.
78
79git_repository(
80name = "rules_foreign_cc",
81remote = "https://github.com/bazelbuild/rules_foreign_cc.git",
82tag = "0.9.0",
83)
84
85load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
86
87rules_foreign_cc_dependencies()
88
89maybe(
90http_archive,
91name = "gmp",
92build_file = "@llvm-raw//utils/bazel/third_party_build:gmp.BUILD",
93sha256 = "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2",
94strip_prefix = "gmp-6.2.1",
95urls = [
96"https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz",
97"https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz",
98],
99)
100
101# https://www.mpfr.org/mpfr-current/
102#
103# When updating to a newer version, don't use URLs with "mpfr-current" in them.
104# Instead, find a stable URL like the one used currently.
105maybe(
106http_archive,
107name = "mpfr",
108build_file = "@llvm-raw//utils/bazel/third_party_build:mpfr.BUILD",
109sha256 = "9cbed5d0af0d9ed5e9f8dd013e17838eb15e1db9a6ae0d371d55d35f93a782a7",
110strip_prefix = "mpfr-4.1.1",
111urls = ["https://www.mpfr.org/mpfr-4.1.1/mpfr-4.1.1.tar.gz"],
112)
113
114maybe(
115new_git_repository,
116name = "pfm",
117build_file = "@llvm-raw//utils/bazel/third_party_build:pfm.BUILD",
118remote = "https://git.code.sf.net/p/perfmon2/libpfm4",
119tag = "v4.12.1",
120)
121
122maybe(
123http_archive,
124name = "llvm_zstd",
125build_file = "@llvm-raw//utils/bazel/third_party_build:zstd.BUILD",
126sha256 = "7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0",
127strip_prefix = "zstd-1.5.2",
128urls = [
129"https://github.com/facebook/zstd/releases/download/v1.5.2/zstd-1.5.2.tar.gz",
130],
131)
132