| # 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") |
| |
| 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") |
| |
| maybe( |
| http_archive, |
| name = "rules_python", |
| sha256 = "778aaeab3e6cfd56d681c89f5c10d7ad6bf8d2f1a72de9de55b23081b2d31618", |
| strip_prefix = "rules_python-0.34.0", |
| url = "https://github.com/bazelbuild/rules_python/releases/download/0.34.0/rules_python-0.34.0.tar.gz", |
| ) |
| |
| 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 = "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", |
| ) |
| |
| http_archive( |
| name = "build_bazel_apple_support", |
| sha256 = "c4bb2b7367c484382300aee75be598b92f847896fb31bbd22f3a2346adf66a80", |
| url = "https://github.com/bazelbuild/apple_support/releases/download/1.15.1/apple_support.1.15.1.tar.gz", |
| ) |
| |
| load( |
| "@build_bazel_apple_support//lib:repositories.bzl", |
| "apple_support_dependencies", |
| ) |
| |
| apple_support_dependencies() |
| |
| # 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. |
| |
| http_archive( |
| name = "rules_foreign_cc", |
| sha256 = "4b33d62cf109bcccf286b30ed7121129cc34cf4f4ed9d8a11f38d9108f40ba74", |
| strip_prefix = "rules_foreign_cc-0.11.1", |
| url = "https://github.com/bazelbuild/rules_foreign_cc/releases/download/0.11.1/rules_foreign_cc-0.11.1.tar.gz", |
| ) |
| |
| 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( |
| http_archive, |
| name = "pfm", |
| build_file = "@llvm-raw//utils/bazel/third_party_build:pfm.BUILD", |
| sha256 = "d18b97764c755528c1051d376e33545d0eb60c6ebf85680436813fa5b04cc3d1", |
| strip_prefix = "libpfm-4.13.0", |
| urls = ["https://versaweb.dl.sourceforge.net/project/perfmon2/libpfm4/libpfm-4.13.0.tar.gz"], |
| ) |
| |
| 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", |
| ], |
| ) |
| |
| maybe( |
| http_archive, |
| name = "pybind11", |
| build_file = "@llvm-raw//utils/bazel/third_party_build:pybind.BUILD", |
| sha256 = "201966a61dc826f1b1879a24a3317a1ec9214a918c8eb035be2f30c3e9cfbdcb", |
| strip_prefix = "pybind11-2.10.3", |
| url = "https://github.com/pybind/pybind11/archive/v2.10.3.zip", |
| ) |
| |
| load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") |
| |
| py_repositories() |
| |
| python_register_toolchains( |
| name = "python_3_12", |
| python_version = "3.12", |
| ) |