# 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 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository") SKYLIB_VERSION = "1.3.0" http_archive( name = "bazel_skylib", sha256 = "74d544d96f4a5bb630d465ca8bbcfe231e3594e5aae57e1edbf17a6eb3ca2506", 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), ], ) new_local_repository( name = "llvm-raw", build_file_content = "# empty", path = "../../", ) load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure") llvm_configure(name = "llvm-project") load("@llvm-raw//utils/bazel:terminfo.bzl", "llvm_terminfo_from_env") maybe( llvm_terminfo_from_env, name = "llvm_terminfo", ) maybe( http_archive, name = "zlib", build_file = "@llvm-raw//utils/bazel/third_party_build:zlib.BUILD", sha256 = "91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9", strip_prefix = "zlib-1.2.12", urls = [ "https://storage.googleapis.com/mirror.tensorflow.org/zlib.net/zlib-1.2.12.tar.gz", "https://zlib.net/zlib-1.2.12.tar.gz", ], ) load("@llvm-raw//utils/bazel:zlib.bzl", "llvm_zlib_from_env") maybe( llvm_zlib_from_env, name = "llvm_zlib", external_zlib = "@zlib", ) maybe( http_archive, name = "vulkan_headers", build_file = "@llvm-raw//utils/bazel/third_party_build:vulkan_headers.BUILD", sha256 = "19f491784ef0bc73caff877d11c96a48b946b5a1c805079d9006e3fbaa5c1895", strip_prefix = "Vulkan-Headers-9bd3f561bcee3f01d22912de10bb07ce4e23d378", urls = [ "https://github.com/KhronosGroup/Vulkan-Headers/archive/9bd3f561bcee3f01d22912de10bb07ce4e23d378.tar.gz", ], ) load("@llvm-raw//utils/bazel:vulkan_sdk.bzl", "vulkan_sdk_setup") maybe( vulkan_sdk_setup, name = "vulkan_sdk", ) # llvm libc math tests reply on `mpfr`. # The availability of `mpfr` is controlled by a flag and can be either `disable`, `system` or `external`. # Continuous integration uses `system` to speed up the build process (see .bazelrc). # Otherwise by default it is set to `external`: `mpfr` and `gmp` are built from source by using `rules_foreign_cc`. # Note: that building from source requires `m4` to be installed on the host machine. # This is a known issue: https://github.com/bazelbuild/rules_foreign_cc/issues/755. git_repository( name = "rules_foreign_cc", remote = "https://github.com/bazelbuild/rules_foreign_cc.git", tag = "0.9.0", ) load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies") rules_foreign_cc_dependencies() maybe( http_archive, name = "gmp", build_file = "@llvm-raw//utils/bazel/third_party_build:gmp.BUILD", sha256 = "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2", strip_prefix = "gmp-6.2.1", urls = [ "https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz", "https://ftp.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz", ], ) # https://www.mpfr.org/mpfr-current/ # # When updating to a newer version, don't use URLs with "mpfr-current" in them. # Instead, find a stable URL like the one used currently. maybe( http_archive, name = "mpfr", build_file = "@llvm-raw//utils/bazel/third_party_build:mpfr.BUILD", sha256 = "9cbed5d0af0d9ed5e9f8dd013e17838eb15e1db9a6ae0d371d55d35f93a782a7", strip_prefix = "mpfr-4.1.1", urls = ["https://www.mpfr.org/mpfr-4.1.1/mpfr-4.1.1.tar.gz"], ) maybe( new_git_repository, name = "pfm", build_file = "@llvm-raw//utils/bazel/third_party_build:pfm.BUILD", remote = "https://git.code.sf.net/p/perfmon2/libpfm4", tag = "v4.12.1", ) 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" ], )