blob: b1c81762d33946674765cb662a26f3c7edaf4ceb [file]
# 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
"""bzlmod extensions for llvm-project"""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:local.bzl", "new_local_repository")
load(":vulkan_sdk.bzl", "vulkan_sdk_setup")
_PYYAML_CONTENT = """\
load("@rules_python//python:defs.bzl", "py_library")
package(
default_visibility = ["//visibility:public"],
# BSD/MIT-like license (for PyYAML)
licenses = ["notice"],
)
py_library(
name = "yaml",
srcs = glob(["yaml/*.py"]),
)
"""
def _llvm_repos_extension_impl(module_ctx):
if any([m.is_root and m.name == "llvm-project-overlay" for m in module_ctx.modules]):
new_local_repository(
name = "llvm-raw",
build_file_content = "# empty",
path = "../../",
)
vulkan_sdk_setup(name = "vulkan_sdk")
http_archive(
name = "pyyaml",
url = "https://github.com/yaml/pyyaml/archive/refs/tags/5.1.zip",
sha256 = "f0a35d7f282a6d6b1a4f3f3965ef5c124e30ed27a0088efb97c0977268fd671f",
strip_prefix = "pyyaml-5.1/lib3",
build_file_content = _PYYAML_CONTENT,
)
llvm_repos_extension = module_extension(
implementation = _llvm_repos_extension_impl,
)