1
Fork 0

remove llvm

nix
Motiejus Jakštys 2021-06-03 17:09:50 +03:00 committed by Motiejus Jakštys
parent 895123cfa1
commit bd2a511637
1 changed files with 2 additions and 54 deletions

View File

@ -75,39 +75,6 @@ TARGET_CONFIGS = [
]
def toolchain_repositories():
# We need llvm-ar for now, so get it.
llvm_patch_cmds = [
"mv bin/llvm-ar .",
"rm -r include lib libexec share bin",
"echo 'def noop(): pass' > noop.bzl",
]
llvm_build_file_content = """
package(default_visibility = ["//visibility:public"])
exports_files(glob["**"])
"""
http_archive(
name = "com_github_ziglang_zig_llvm_tools_macos_x86_64",
# sha256 = "",
patch_cmds = llvm_patch_cmds,
build_file_content = llvm_build_file_content,
strip_prefix = "clang+llvm-11.0.0-x86_64-apple-darwin",
urls = [
"https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-apple-darwin.tar.xz",
],
)
http_archive(
name = "com_github_ziglang_zig_llvm_tools_linux_x86_64",
sha256 = "829f5fb0ebda1d8716464394f97d5475d465ddc7bea2879c0601316b611ff6db",
patch_cmds = llvm_patch_cmds,
build_file_content = llvm_build_file_content,
strip_prefix = "clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04",
urls = [
"https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.0/clang+llvm-11.0.0-x86_64-linux-gnu-ubuntu-20.04.tar.xz",
],
)
zig_repository(
name = "com_github_ziglang_zig",
@ -118,13 +85,6 @@ exports_files(glob["**"])
"macos-x86_64": "2d410a4d5ababb61a1deccca724357fda4ed0277b722fc45ea10adf2ed215c5e",
},
# version = "0.7.1",
# url_format = "https://ziglang.org/download/{version}/zig-{host_platform}-{version}.tar.xz",
# host_platform_sha256 = {
# "macos-x86_64": "845cb17562978af0cf67e3993f4e33330525eaf01ead9386df9105111e3bc519",
# "linux-x86_64": "18c7b9b200600f8bcde1cd8d7f1f578cbc3676241ce36d771937ce19a8159b8d",
# },
host_platform_include_root = {
"macos-x86_64": "lib/zig/",
"linux-x86_64": "lib/",
@ -146,7 +106,7 @@ exec "{zig}" "{zig_tool}" "$@"
ZIG_TOOLS = [
"c++",
"cc",
"build-lib", # https://github.com/ziglang/zig/issues/7915
"ar",
# List of ld tools: https://github.com/ziglang/zig/blob/0cfa39304b18c6a04689bd789f5dc4d035ec43b0/src/main.zig#L2962-L2966
# and also: https://github.com/ziglang/zig/issues/3257
"ld.lld", # ELF
@ -155,25 +115,17 @@ ZIG_TOOLS = [
"wasm-ld", # WebAssembly
]
TOOLS = ZIG_TOOLS + [
"llvm-ar",
]
BUILD = """
load("@zig-cc-bazel-exceptions//zig-toolchains:defs.bzl", "zig_build_macro")
load("@{llvm_tools_repo}//:noop.bzl", "noop")
noop()
package(default_visibility = ["//visibility:public"])
zig_build_macro(absolute_path={absolute_path}, zig_include_root={zig_include_root})
"""
def _zig_repository_impl(repository_ctx):
if repository_ctx.os.name.lower().startswith("mac os"):
llvm_tools_repo = "com_github_ziglang_zig_llvm_tools_macos_x86_64"
host_platform = "macos-x86_64"
else:
host_platform = "linux-x86_64"
llvm_tools_repo = "com_github_ziglang_zig_llvm_tools_linux_x86_64"
zig_include_root = repository_ctx.attr.host_platform_include_root[host_platform]
zig_sha256 = repository_ctx.attr.host_platform_sha256[host_platform]
@ -189,10 +141,6 @@ def _zig_repository_impl(repository_ctx):
sha256 = zig_sha256,
)
# TODO Use llvm-ar for host platform until we have https://github.com/ziglang/zig/issues/7915
llvm_tools_dir = str(repository_ctx.path("")) + "/../" + llvm_tools_repo
repository_ctx.symlink(llvm_tools_dir + "/llvm-ar", ZIG_TOOL_PATH.format(zig_tool="llvm-ar"))
for zig_tool in ZIG_TOOLS:
repository_ctx.file(
ZIG_TOOL_PATH.format(zig_tool=zig_tool),
@ -202,7 +150,7 @@ def _zig_repository_impl(repository_ctx):
absolute_path = json.encode(str(repository_ctx.path("")))
repository_ctx.file(
"BUILD",
BUILD.format(absolute_path=absolute_path, llvm_tools_repo=llvm_tools_repo, zig_include_root=json.encode(zig_include_root)),
BUILD.format(absolute_path=absolute_path, zig_include_root=json.encode(zig_include_root)),
)
zig_repository = repository_rule(