| # 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, |
| ) |