diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index e8f24b462..43e35fa60 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -50,40 +50,100 @@ buildifier_deps() # C / C++ toolchains -load("//bazel/toolchains:zig_cc_deps.bzl", "zig_cc_deps") +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -zig_cc_deps() +BAZEL_TOOLCHAIN_TAG = "0.8.2" -load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains = "toolchains") +BAZEL_TOOLCHAIN_SHA = "0fc3a2b0c9c929920f4bed8f2b446a8274cad41f5ee823fd3faa0d7641f20db0" -# See https://ziglang.org/download/ for the latest releases - -zig_toolchains( - host_platform_sha256 = { - "linux-aarch64": "b759a11993949531c692ccfc3d1a004b14df714a7a3515fe0b5c90c9a7631d61", - "linux-x86_64": "028dad5189e02b2058679b64df16e854a1c1ca0e6044b334d4f3be6e35544f07", - "macos-aarch64": "5709c27d581988f50f5e6fd5b69d92707787e803a1d04992e290b764617664e6", - "macos-x86_64": "88d194adb2f3c1a9edbb4a24d018007d5f827a57d1d26b2d9f3459236da1b7b6", - "windows-x86_64": "75e510bda108e4d78b89d5d1d09e70ea8595fac7c43b5611f280668881adb09d", - }, - version = "0.11.0-dev.1638+7199d7c77", +http_archive( + name = "com_grail_bazel_toolchain", + canonical_id = BAZEL_TOOLCHAIN_TAG, + sha256 = BAZEL_TOOLCHAIN_SHA, + strip_prefix = "bazel-toolchain-{tag}".format(tag = BAZEL_TOOLCHAIN_TAG), + url = "https://github.com/grailbio/bazel-toolchain/archive/refs/tags/{tag}.tar.gz".format(tag = BAZEL_TOOLCHAIN_TAG), ) +load("@com_grail_bazel_toolchain//toolchain:deps.bzl", "bazel_toolchain_dependencies") + +bazel_toolchain_dependencies() + +load("@com_grail_bazel_toolchain//toolchain:rules.bzl", "llvm_toolchain") + +llvm_toolchain( + name = "llvm_toolchain", + llvm_version = "14.0.0", +) + +http_archive( + name = "org_chromium_sysroot_linux_x64", + build_file_content = """ +filegroup( + name = "sysroot", + srcs = glob(["*/**"]), + visibility = ["//visibility:public"], +) +""", + sha256 = "bacf1506da1bfc9dbb4e856aa61b2a80af75956d4f812708e29058042c27b444", + urls = ["https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/3bdb3503702d35520d101fc5eec9a8ab5353149f/debian_bullseye_amd64_sysroot.tar.xz"], +) + +llvm_toolchain( + name = "llvm_toolchain_with_sysroot", + llvm_versions = { + "": "14.0.0", + }, + sysroot = { + # "linux-x86_64": "@org_chromium_sysroot_linux_x64//:sysroot", + "linux-x86_64": "@//rpm:sysroot-files", + }, + # We can share the downloaded LLVM distribution with the first configuration. + toolchain_roots = { + "": "@llvm_toolchain_llvm//", + }, +) + +load("@llvm_toolchain//:toolchains.bzl", "llvm_register_toolchains") + +llvm_register_toolchains() + register_toolchains( - "@zig_sdk//libc_aware/toolchain:linux_amd64_gnu.2.34", - "@zig_sdk//libc_aware/toolchain:linux_arm64_gnu.2.34", - "@zig_sdk//libc_aware/toolchain:linux_amd64_musl", - "@zig_sdk//libc_aware/toolchain:linux_arm64_musl", - "@zig_sdk//toolchain:linux_amd64_gnu.2.34", - "@zig_sdk//toolchain:linux_arm64_gnu.2.34", - "@zig_sdk//toolchain:linux_amd64_musl", - "@zig_sdk//toolchain:linux_arm64_musl", - "@zig_sdk//toolchain:darwin_amd64", - "@zig_sdk//toolchain:darwin_arm64", - "@zig_sdk//toolchain:windows_amd64", + "@llvm_toolchain//:cc-toolchain-x86_64-linux", + "@llvm_toolchain_with_sysroot//:cc-toolchain-x86_64-linux", ) -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +# load("//bazel/toolchains:zig_cc_deps.bzl", "zig_cc_deps") + +# zig_cc_deps() + +# load("@bazel-zig-cc//toolchain:defs.bzl", zig_toolchains = "toolchains") + +# # See https://ziglang.org/download/ for the latest releases + +# zig_toolchains( +# host_platform_sha256 = { +# "linux-aarch64": "b759a11993949531c692ccfc3d1a004b14df714a7a3515fe0b5c90c9a7631d61", +# "linux-x86_64": "028dad5189e02b2058679b64df16e854a1c1ca0e6044b334d4f3be6e35544f07", +# "macos-aarch64": "5709c27d581988f50f5e6fd5b69d92707787e803a1d04992e290b764617664e6", +# "macos-x86_64": "88d194adb2f3c1a9edbb4a24d018007d5f827a57d1d26b2d9f3459236da1b7b6", +# "windows-x86_64": "75e510bda108e4d78b89d5d1d09e70ea8595fac7c43b5611f280668881adb09d", +# }, +# version = "0.11.0-dev.1638+7199d7c77", +# ) + +# register_toolchains( +# "@zig_sdk//libc_aware/toolchain:linux_amd64_gnu.2.34", +# "@zig_sdk//libc_aware/toolchain:linux_arm64_gnu.2.34", +# "@zig_sdk//libc_aware/toolchain:linux_amd64_musl", +# "@zig_sdk//libc_aware/toolchain:linux_arm64_musl", +# "@zig_sdk//toolchain:linux_amd64_gnu.2.34", +# "@zig_sdk//toolchain:linux_arm64_gnu.2.34", +# "@zig_sdk//toolchain:linux_amd64_musl", +# "@zig_sdk//toolchain:linux_arm64_musl", +# "@zig_sdk//toolchain:darwin_amd64", +# "@zig_sdk//toolchain:darwin_arm64", +# "@zig_sdk//toolchain:windows_amd64", +# ) http_archive( name = "rules_foreign_cc", diff --git a/bootstrapper/cmd/bootstrapper/BUILD.bazel b/bootstrapper/cmd/bootstrapper/BUILD.bazel index 3f843316d..51e049331 100644 --- a/bootstrapper/cmd/bootstrapper/BUILD.bazel +++ b/bootstrapper/cmd/bootstrapper/BUILD.bazel @@ -58,7 +58,7 @@ go_binary( platform_binary( name = "bootstrapper_linux_amd64", - platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.34", + platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64", target_file = ":bootstrapper", visibility = ["//visibility:public"], ) diff --git a/debugd/cmd/debugd/BUILD.bazel b/debugd/cmd/debugd/BUILD.bazel index 6e6e1b8bd..661f2e867 100644 --- a/debugd/cmd/debugd/BUILD.bazel +++ b/debugd/cmd/debugd/BUILD.bazel @@ -37,7 +37,7 @@ go_binary( platform_binary( name = "debugd_linux_amd64", - platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.34", + platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64", target_file = ":debugd", visibility = ["//visibility:public"], ) diff --git a/disk-mapper/cmd/BUILD.bazel b/disk-mapper/cmd/BUILD.bazel index 0022857ff..71c4f3322 100644 --- a/disk-mapper/cmd/BUILD.bazel +++ b/disk-mapper/cmd/BUILD.bazel @@ -39,7 +39,7 @@ go_binary( platform_binary( name = "disk-mapper_linux_amd64", - platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.34", + platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64", target_file = ":cmd", visibility = ["//visibility:public"], ) diff --git a/measurement-reader/cmd/BUILD.bazel b/measurement-reader/cmd/BUILD.bazel index ae341d987..9e96cbc7a 100644 --- a/measurement-reader/cmd/BUILD.bazel +++ b/measurement-reader/cmd/BUILD.bazel @@ -25,7 +25,7 @@ go_binary( platform_binary( name = "measurement-reader_linux_amd64", - platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.34", + platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64", target_file = ":cmd", visibility = ["//visibility:public"], ) diff --git a/rpm/BUILD.bazel b/rpm/BUILD.bazel index 12591cb2a..97e86e94b 100644 --- a/rpm/BUILD.bazel +++ b/rpm/BUILD.bazel @@ -68,6 +68,13 @@ genrule( visibility = ["//visibility:public"], ) +rpmtree( + name = "sysroot", + rpms = [ + "@glibc-0__2.36-9.fc37.x86_64//rpm", + ], +) + rpmtree( name = "cryptsetup-devel", rpms = [ @@ -452,3 +459,17 @@ tar2files( tar = ":libvirt-devel", visibility = ["//visibility:public"], ) + +tar2files( + name = "sysroot-files", + files = { + "": [ + "usr/lib64ld-linux-x86-64.so.2", + "usr/lib64libc.so.6", + "usr/lib64libpthread.so.0", + "usr/lib64libm.so.6", + ], + }, + tar = ":sysroot", + visibility = ["//visibility:public"], +) diff --git a/upgrade-agent/cmd/BUILD.bazel b/upgrade-agent/cmd/BUILD.bazel index e1cc48bdd..8efe8f3c0 100644 --- a/upgrade-agent/cmd/BUILD.bazel +++ b/upgrade-agent/cmd/BUILD.bazel @@ -26,7 +26,7 @@ go_binary( platform_binary( name = "upgrade_agent_linux_amd64", - platform = "@zig_sdk//libc_aware/platform:linux_amd64_gnu.2.34", + platform = "@com_grail_bazel_toolchain//platforms:linux-x86_64", target_file = ":cmd", visibility = ["//visibility:public"], )