mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 23:46:05 +00:00

This tool doesn't work unless it's signed with the entitlements used here. We should probably consider using the macos_command_line_application rule from rules_apple which manages this more flexibly for us, but for now this works. This uses apple_genrule as opposed to genrule since the former encodes the Xcode environment info into the action so it is correctly invalidated if that changes.
132 lines
4.4 KiB
Python
132 lines
4.4 KiB
Python
# 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:git.bzl", "git_repository", "new_git_repository")
|
|
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 = "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.
|
|
|
|
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",
|
|
],
|
|
)
|