Skip to content

Windows exe #488

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 63 additions & 9 deletions toolchain/internal/llvm_distributions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,9 @@ _llvm_distributions = {
"LLVM-19.1.0-Windows-X64.tar.xz": "a132377865d72bc7452343d59d05da63266ffc928b4072d63fb854fd42097dc4",
"LLVM-19.1.0-macOS-ARM64.tar.xz": "9da86f64a99f5ce9b679caf54e938736ca269c5e069d0c94ad08b995c5f25c16",
"LLVM-19.1.0-macOS-X64.tar.xz": "264f2f1e8b67f066749349ae8b4943d346cd44e099464164ef21b42a57663540",
"LLVM-19.1.0-win32.exe": "644bcaab8d3e279050810ba443c0f09660a486affec58a130fcc758a1a4af015",
"LLVM-19.1.0-win64.exe": "143827ab00c50e45729d0cdd50ccf242997078f9dd40418113ba395e53194f36",
"LLVM-19.1.0-woa64.exe": "4e1ff3c84ff0ae11c7fded3a35bb616a6672800d134d646675ba261d6457401d",
"clang+llvm-19.1.0-aarch64-linux-gnu.tar.xz": "7bb54afd330fe1a1c2d4c593fa1e2dbe2abd9bf34fb3597994ff41e443cf144b",
"clang+llvm-19.1.0-armv7a-linux-gnueabihf.tar.gz": "d2f9f7fe803b38dc2fa64a1b2d1d3356f230f9ba402c321d8615ba3598f5cb66",
"clang+llvm-19.1.0-x86_64-pc-windows-msvc.tar.xz": "de3199fcace428386878e5a98c2be35576459f140f405eddc8b1f8e91f5dae64",
Expand All @@ -541,6 +544,9 @@ _llvm_distributions = {
"LLVM-19.1.1-Linux-X64.tar.xz": "8204de000b6a6921f0572e038336601e3225898e9a253c8aaa43b0a5fae8a4ce",
"LLVM-19.1.1-Windows-X64.tar.xz": "dafd21646d10b7a59cf755002b608a657173c22daf63d99663eb193aedde48c1",
"LLVM-19.1.1-macOS-ARM64.tar.xz": "e00def99a6b32de61fffabd4bb85290589731f3f5cb9836fd51770256cd694dd",
"LLVM-19.1.1-win32.exe": "afa2c594f74f9fd3a93db1e0fe7c9c92a76486482cf26458d0d36ab0d48453fd",
"LLVM-19.1.1-win64.exe": "95f03b6a8a0049e29898b0fadf84a0ea252f2e7f1b36db15a81aae11e912f675",
"LLVM-19.1.1-woa64.exe": "f256585b8e39cf95ce3191eb4002e269a755217f8492b240653c94c0ae077c8a",
"clang+llvm-19.1.1-aarch64-linux-gnu.tar.xz": "414d2ebef10c5035e9df10a224e81b484dbe17d319373050d0c1b3b1467040d2",
"clang+llvm-19.1.1-armv7a-linux-gnueabihf.tar.gz": "bf63f9092d1cd4c63d1858182ffa2a1713d4f00bc637d4169717bd5c9c905be3",
"clang+llvm-19.1.1-x86_64-pc-windows-msvc.tar.xz": "621fc299fceb1bbdae927e355d1073034c9a1bbdda5a46a27e217c56af72f72a",
Expand All @@ -549,6 +555,9 @@ _llvm_distributions = {
"LLVM-19.1.2-Linux-X64.tar.xz": "5b7fe5b2dbbacadd0fee17ac45103c0393bc4b5a9096506a865aa2fbcba976a7",
"LLVM-19.1.2-Windows-X64.tar.xz": "3aa49c72622c14caabb63f80cc156ce1d6806e12af554754ae1084bd7bc8f6ba",
"LLVM-19.1.2-macOS-ARM64.tar.xz": "62eb2d8e9f610595fc53db020e26e4576c57c5853a55981292f17730916e676d",
"LLVM-19.1.2-win32.exe": "2957419ae11a6d0a14bbc65a83128c38707ebf0a0502aeea2c7dae075c902931",
"LLVM-19.1.2-win64.exe": "de0f7a467f949d649a13201d5dafb795c1f4c82f595ef6350ff35d9afef683a9",
"LLVM-19.1.2-woa64.exe": "76df5995e015e317072a3887b52f9a2163338f4eae23f09e5d3fcb025317f334",
"clang+llvm-19.1.2-aarch64-linux-gnu.tar.xz": "eb9ab2b24f4b75f8010feed4a43d5a4ebf3c7e1ccff881e1cdf12a122748e7c4",
"clang+llvm-19.1.2-armv7a-linux-gnueabihf.tar.gz": "5a86ae82efca724882af265e3a8d7a37f09cf217483604882365b6ecb4195f00",
"clang+llvm-19.1.2-x86_64-pc-windows-msvc.tar.xz": "14e764eb79e4ed58da1b88320e33e5eb6c6064103446b47c4439b14292b99d12",
Expand All @@ -558,6 +567,9 @@ _llvm_distributions = {
"LLVM-19.1.3-Windows-X64.tar.xz": "1077267ca353a1e236055ed4b57d6a404d09c40b01bd27dc882870395cdc1aae",
"LLVM-19.1.3-macOS-ARM64.tar.xz": "80a54a467e9e770a76ba9670e89a235224ec47578cc4d4dbd928592813732518",
"LLVM-19.1.3-macOS-X64.tar.xz": "52ea30f3089af4e086a98638a16167c5a20d253d43f7146c058e3e9e6d33274f",
"LLVM-19.1.3-win32.exe": "9bab022d175ff27e35db517b71d3e428027d75ffff0d0195ccc9f20ce5a20d4f",
"LLVM-19.1.3-win64.exe": "ad63bea52fd89f62a4f30ed87895a7d38b087f604564fe50c5cf226cee4274ff",
"LLVM-19.1.3-woa64.exe": "20a4a1094f813f7c548b2ff0a23bdc7f56ef0773c9aa1041d31ba56269b298a9",
"clang+llvm-19.1.3-aarch64-linux-gnu.tar.xz": "a730175e58233f20a99ecab0015d8cd0f1af5d92411ca1f9e3e472645d889bcd",
"clang+llvm-19.1.3-armv7a-linux-gnueabihf.tar.gz": "b602416a0ea588da73d535050a7efc2b89bc58c69556cd2d828d413c258ba215",
"clang+llvm-19.1.3-x86_64-pc-windows-msvc.tar.xz": "84789dc852e67f8507861a5dea9ed41f11ad7a6c9d3db6d52f04d72b3e4e29d3",
Expand All @@ -566,13 +578,19 @@ _llvm_distributions = {
"LLVM-19.1.4-Linux-X64.tar.xz": "da7e0f571b440e5ef9ae6e061ae6afc1071179e18f86f77cf630dabbed11a5f6",
"LLVM-19.1.4-macOS-ARM64.tar.xz": "52245bc374fdb9f3665046fe7319b5b8165ca2732053c74f06ba1e90e142ed8e",
"LLVM-19.1.4-macOS-X64.tar.xz": "eedb896c193cc3bad35a9f132d91e16cf73d33723f35d63dcaae4755872674c2",
"LLVM-19.1.4-win32.exe": "7e7ae114bfdfe4d176a16c8c2ccf19bd2a92b0a13561103b33dafa9d2328608c",
"LLVM-19.1.4-win64.exe": "b1aab7481cf2c6be83958d6b1890f9568c1ec2ec7a0a238ae7d19c8e21a00e1c",
"LLVM-19.1.4-woa64.exe": "a5f72fe384773a2cee8ca9ae91fe77747e93c8b4793a46cd12d083880e470414",
"clang+llvm-19.1.4-aarch64-linux-gnu.tar.xz": "c42ea92e7a4cfad96b2b0d6c7872c6e9a9960a1d8a56c1847eca45d79cd67533",
"clang+llvm-19.1.4-armv7a-linux-gnueabihf.tar.gz": "1725f51a2be83feb9e7d2c393e179fa646f85eb80d17dca8b1c65bcee43455a4",
"clang+llvm-19.1.4-x86_64-pc-windows-msvc.tar.xz": "5e965a1281c9df1fda8eddab3752ee6a3139e36ce469537f216cd938c498e6c3",

# 19.1.5
"LLVM-19.1.5-Linux-X64.tar.xz": "13e9975b026d431c945927960e5f8c0a47a155a2f600f57e85f4d1482620c65f",
"LLVM-19.1.5-macOS-X64.tar.xz": "f593d45992807d03c2aeb4c968c5cab9e78403430caea21dca4b787cbca3b9f4",
"LLVM-19.1.5-win32.exe": "5db99b33285848d65f6b095f950a64293c261c80ffc28d69b7e6710d0839e69e",
"LLVM-19.1.5-win64.exe": "9b29856202d82047b504a9e501d66080bed0eaff3f1127191f4f361e0e00c770",
"LLVM-19.1.5-woa64.exe": "63d479c19c3908f8c973331edc9b576485eab6ab0809f58c79df5d209fdd8f96",
"clang+llvm-19.1.5-aarch64-linux-gnu.tar.xz": "1bdc342b7d03cbcfafb2ffb8659eb0e4d5c6ddef6f56e0cad0e0c09c52577a4f",
"clang+llvm-19.1.5-armv7a-linux-gnueabihf.tar.gz": "f0058f9fc80dd939609a1ac2cbf791bbaf3e66ee56eb320b93f1494f3478cb57",
"clang+llvm-19.1.5-x86_64-pc-windows-msvc.tar.xz": "467d1a73ca938f47734af3baac2e78c5e730285469096ee088bb5c9590cabd70",
Expand All @@ -581,6 +599,9 @@ _llvm_distributions = {
"LLVM-19.1.6-Linux-X64.tar.xz": "d55dcbb309de7ade4e3073ec3ac3fac4d3ff236d54df3c4de04464fe68bec531",
"LLVM-19.1.6-macOS-ARM64.tar.xz": "2c28bcd132ce3db367354c892839a962aa01b7b850a25e61316178f2ac72ecac",
"LLVM-19.1.6-macOS-X64.tar.xz": "58ce29a2adb82872b6de49018091c6d844ca555a9b017faa698f6df409b25281",
"LLVM-19.1.6-win32.exe": "110bf3c367635e2a29360864dbd57b7f7531b6e041866acbc45e39644e131b5c",
"LLVM-19.1.6-win64.exe": "ccb7140dd9eb2c0e8ab1feed2d38c6fd22a161c1843b48b444c500f2f60e4f1c",
"LLVM-19.1.6-woa64.exe": "fb8308726d4a43934462a4aaa458041b2a21de325b6f79c6689cb0e63e702847",
"clang+llvm-19.1.6-aarch64-linux-gnu.tar.xz": "f6fd8cf8bb12f507c4a55609ef6a435b3c59bc658008b712b80ec1cdc1ee9325",
"clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz": "3ce188e3394c2bf2d2f2ec1c63f4e450e10092d642953d1b73940cfe9213f9ba",
"clang+llvm-19.1.6-x86_64-pc-windows-msvc.tar.xz": "d2e64d4d6eca9199ea5b8ac018e626fe2f2814ab90247c335fc9fd7448681bb3",
Expand All @@ -589,6 +610,9 @@ _llvm_distributions = {
"LLVM-19.1.7-Linux-X64.tar.xz": "4a5ec53951a584ed36f80240f6fbf8fdd46b4cf6c7ee87cc2d5018dc37caf679",
"LLVM-19.1.7-macOS-ARM64.tar.xz": "d93bf12952d89fe4ec7501c40475718b722407da6a8d651f05c995863468e570",
"LLVM-19.1.7-macOS-X64.tar.xz": "49405e75fbe7ad6f8139a33f59ec8c5112b75b3027405c7b92d19f4c6f02c78a",
"LLVM-19.1.7-win32.exe": "3d7044fa307d3183e4ee2a98e12dd0523ced58f1d1c95c5e057694fb75beb51a",
"LLVM-19.1.7-win64.exe": "f19ae5bc4823ac69ec01dc2ded503ec80a04ad2208dda1595d1f0413c148ef90",
"LLVM-19.1.7-woa64.exe": "08d871c9a20caf0987ede1a4e44d489e28854c9f2fff3da98b486891f4856e05",
"clang+llvm-19.1.7-aarch64-linux-gnu.tar.xz": "a73d9326e5d756e3937df6a9f621664d76403b59119f741901106b387e53a6ae",
"clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz": "dedde2acbc164649b77d6f6635e8551218c9aed5a6df4c09b2614aaccc0c05b2",
"clang+llvm-19.1.7-x86_64-pc-windows-msvc.tar.xz": "b4557b4f012161f56a2f5d9e877ab9635cafd7a08f7affe14829bd60c9d357f0",
Expand All @@ -597,6 +621,9 @@ _llvm_distributions = {
"LLVM-20.1.0-Linux-ARM64.tar.xz": "9d1bbf3f6d4d011e3b8b4b585f686bc968474917f37d3b82b4a534f456168c67",
"LLVM-20.1.0-Linux-X64.tar.xz": "954ac51498519f6ed9540714fb04bc401f70039b296a8160dd1559be380788d7",
"LLVM-20.1.0-macOS-ARM64.tar.xz": "2c42ec26ec50c4bf8b95585f762b9d2f5b385d170dee772d9c1d6c9a7190dcef",
"LLVM-20.1.0-win32.exe": "bb13ac6af1bd30849b7f4fcea9c5aaf93e43e86399360c8a3e7488379d01f2ea",
"LLVM-20.1.0-win64.exe": "64b9ee39d07c1adca999a132b7367fbeaa649f4e829e07d8e8766626235a1aa7",
"LLVM-20.1.0-woa64.exe": "f72856191694c3e77509c2bc7c0b91c385c5a37010eddbc2b8daacf07f659d79",
"clang+llvm-20.1.0-aarch64-pc-windows-msvc.tar.xz": "f52e40d68843ed6205858e817ed791295ef51e526037186352a1aeac4a59e51a",
"clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz": "487d38a49bd64ef03b46ce1dc6f32645052ded09f96ada847e4f46e69c799d01",
"clang+llvm-20.1.0-x86_64-pc-windows-msvc.tar.xz": "91e29416f4a0c188368f0540a5538efc0d8a9f7134afba7a2160296472ce84eb",
Expand All @@ -605,6 +632,9 @@ _llvm_distributions = {
"LLVM-20.1.1-Linux-ARM64.tar.xz": "09f5a08ef6c96a7c6c11258b3053ae5ed11a6717ffd9fd01bbebd75d8038a0fc",
"LLVM-20.1.1-Linux-X64.tar.xz": "b1f40360adbf31934d5d3d999c5f91f7e52e089ae984d237565cc4c23bbfa283",
"LLVM-20.1.1-macOS-ARM64.tar.xz": "ae52012b28bb43e1aa698aa347e37d06edb4643895b8bb189ed275025cd349ed",
"LLVM-20.1.1-win32.exe": "a343d8ef021194af3941854627cc4d49581ac884f326416c2590d3330cb1d17e",
"LLVM-20.1.1-win64.exe": "40fe7010123a501eb72d25a6e71ba536a10b5db47f6c19e3cf01f6157f7ff54a",
"LLVM-20.1.1-woa64.exe": "b3ccda1eb9c8b3a1cb6d061ead07705043115dfde2c1c92670fc8ea631a10262",
"clang+llvm-20.1.1-aarch64-pc-windows-msvc.tar.xz": "6ee4c1a8c51cf081e19a7225d802d160cc888cdc3a8da07dcbdb5768e3160244",
"clang+llvm-20.1.1-armv7a-linux-gnueabihf.tar.gz": "c443e13fc8293f688acdd1d715cb56cd36c763a0525b86265417d57cdfa42994",
"clang+llvm-20.1.1-x86_64-pc-windows-msvc.tar.xz": "f8114cb674317e8a303731b1f9d22bf37b8c571b64f600abe528e92275ed4ace",
Expand All @@ -613,6 +643,9 @@ _llvm_distributions = {
"LLVM-20.1.2-Linux-ARM64.tar.xz": "41a6a2892cf66cd7c275753f2d1afe0e33b26c9674eff7d114fb36a52253436a",
"LLVM-20.1.2-Linux-X64.tar.xz": "3a392f151375eeed4fd50c6b6f7c7203da37b373a57f220ae58ef62b8aade3cc",
"LLVM-20.1.2-macOS-ARM64.tar.xz": "e502de0ccaa12dec9b7499c9e15e896006feda438078aba8b97894ae3218d4e3",
"LLVM-20.1.2-win32.exe": "0a47463d3be7301e4803388f7bbee468687e277577b6dd6358aa501c87cfa8a7",
"LLVM-20.1.2-win64.exe": "210bfb78034addb7b1162bb9bbc9c907cc8aec4fda95cc64e6a1f068718d8197",
"LLVM-20.1.2-woa64.exe": "d75028c79aab926c2c14a8fcf87f266695a525b70a6581bbaa80ea5cb8fca364",
"clang+llvm-20.1.2-aarch64-pc-windows-msvc.tar.xz": "cb82f730a7d0d70866d4228fedafb8aca36d7dc3fd8a74a570f72ed95a52d5ed",
"clang+llvm-20.1.2-armv7a-linux-gnueabihf.tar.gz": "79ea2536f45a9f4c3fa89c3c03dae29be2e5fcd1bea2e163939ba527aa913219",
"clang+llvm-20.1.2-x86_64-pc-windows-msvc.tar.xz": "8e771a685cd718303ea0d632a8a95ad7b3cb17068f3952fbefa64a77290324d8",
Expand All @@ -622,6 +655,9 @@ _llvm_distributions = {
"LLVM-20.1.3-Linux-X64.tar.xz": "c75103f520626cd2137a7e907998f12fff64136514ade1bb0a259995ae2de80e",
"LLVM-20.1.3-macOS-ARM64.tar.xz": "70cd48fcd6b838690149bd00a85270d054c1c410d430f7c51f6d6e9019790d62",
"LLVM-20.1.3-macOS-X64.tar.xz": "c3043862e4715ed3dc9f2c83e2a600e75ffecc005b977a391af50664a63fed2b",
"LLVM-20.1.3-win32.exe": "d76de655141ee5fdc31e043192e80d70a4b31e07a36be36e7257e70f03ee87ba",
"LLVM-20.1.3-win64.exe": "0a18ea761147a7de69d6dd60ef81b70496e5255aec6caff22d45da85188614af",
"LLVM-20.1.3-woa64.exe": "cadc1d94e107d373000b770cd071f39ef60b2a8415322be0890131da00a2ea29",
"clang+llvm-20.1.3-aarch64-pc-windows-msvc.tar.xz": "fcbbd259fc4430f96f4a1ee51bc41038cd1e93138675d2f46baa2d479f0eb306",
"clang+llvm-20.1.3-armv7a-linux-gnueabihf.tar.gz": "fc6ebfbabbbfea74f164f7c19ae953bcf066d34d348c6ef758d32fb87872b9e3",
"clang+llvm-20.1.3-x86_64-pc-windows-msvc.tar.xz": "3831e10ca8409e2288d70491c2fd925f5d5f9b644abf4553552887ff9ce32798",
Expand Down Expand Up @@ -678,12 +714,29 @@ def download_llvm(rctx):
if not urls:
urls, sha256, strip_prefix = _distribution_urls(rctx)

res = rctx.download_and_extract(
urls,
sha256 = sha256,
stripPrefix = strip_prefix,
auth = _get_auth(rctx, urls),
)
filename = urls[0].split("?")[0]
basename = filename.split("/")[-1]
if urls[0].endswith(".exe"):
res = rctx.download(
urls,
sha256 = sha256,
auth = _get_auth(rctx, urls),
output = basename,
)
rctx.execute(
arguments = [
"C:/Program Files/7-Zip7z.exe",
"x",
basename,
],
)
else:
res = rctx.download_and_extract(
urls,
sha256 = sha256,
stripPrefix = strip_prefix,
auth = _get_auth(rctx, urls),
)

if rctx.attr.libclang_rt:
clang_versions = rctx.path("lib/clang").readdir()
Expand Down Expand Up @@ -779,6 +832,7 @@ def _write_distributions_impl(ctx):
"""
arch_list = [
"aarch64",
"x86_32",
"x86_64",
]
os_list = [
Expand All @@ -795,9 +849,9 @@ def _write_distributions_impl(ctx):
for prefix in ["LLVM-", "clang+llvm-"]:
if name.startswith(prefix):
version = name.split("-", 2)[1]
if not _version_ge(version, MIN_VERSION):
continue
version_list.append(version)
if _version_ge(version, MIN_VERSION):
version_list.append(version)
break
for version in _llvm_distributions_base_url.keys():
if not _version_ge(version, MIN_VERSION):
continue
Expand Down
12 changes: 12 additions & 0 deletions toolchain/internal/llvm_distributions.golden.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,34 +10,46 @@ version: 20.1.0
version: 20.1.1
version: 20.1.2
version: 20.1.3
del: LLVM-19.1.0-win64.exe
del: clang+llvm-19.1.0-aarch64-linux-gnu.tar.xz
del: clang+llvm-19.1.0-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.0-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.1-win64.exe
del: clang+llvm-19.1.1-aarch64-linux-gnu.tar.xz
del: clang+llvm-19.1.1-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.1-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.2-win64.exe
del: clang+llvm-19.1.2-aarch64-linux-gnu.tar.xz
del: clang+llvm-19.1.2-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.2-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.3-win64.exe
del: clang+llvm-19.1.3-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.3-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.4-win64.exe
del: clang+llvm-19.1.4-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.4-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.5-win64.exe
del: clang+llvm-19.1.5-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.5-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.6-win64.exe
del: clang+llvm-19.1.6-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.6-x86_64-pc-windows-msvc.tar.xz
del: LLVM-19.1.7-win64.exe
del: clang+llvm-19.1.7-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-19.1.7-x86_64-pc-windows-msvc.tar.xz
del: LLVM-20.1.0-win64.exe
del: clang+llvm-20.1.0-aarch64-pc-windows-msvc.tar.xz
del: clang+llvm-20.1.0-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-20.1.0-x86_64-pc-windows-msvc.tar.xz
del: LLVM-20.1.1-win64.exe
del: clang+llvm-20.1.1-aarch64-pc-windows-msvc.tar.xz
del: clang+llvm-20.1.1-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-20.1.1-x86_64-pc-windows-msvc.tar.xz
del: LLVM-20.1.2-win64.exe
del: clang+llvm-20.1.2-aarch64-pc-windows-msvc.tar.xz
del: clang+llvm-20.1.2-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-20.1.2-x86_64-pc-windows-msvc.tar.xz
del: LLVM-20.1.3-win64.exe
del: clang+llvm-20.1.3-aarch64-pc-windows-msvc.tar.xz
del: clang+llvm-20.1.3-armv7a-linux-gnueabihf.tar.gz
del: clang+llvm-20.1.3-x86_64-pc-windows-msvc.tar.xz
11 changes: 11 additions & 0 deletions toolchain/internal/release_name.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,17 @@ def _linux(llvm_version, distname, version, arch):
)

def llvm_release_name_19(llvm_version, rctx_arch, rctx_os):
if rctx_os == "windows":
if rctx_arch == "x86_32":
return "LLVM-{llvm_version}-win32.exe".format(llvm_version = llvm_version)
if rctx_arch == "aarch64":
return "LLVM-{llvm_version}-woa64.exe".format(llvm_version = llvm_version)

# For Win64 we prefer `LLVM-<version>-Windows-X64.tar.xz` over the other two options:
# `LLVM-<version>-win64.exe`
# `clang+llvm-<version>-x86_64-pc-windows-msvc.tar.xz`
# TODO(helly25): Automatically find the correct one.

arch = {
"aarch64": "ARM64",
"x86_64": "X64",
Expand Down
6 changes: 3 additions & 3 deletions utils/llvm_checksums.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ llvm_host() {
local url_base="releases.llvm.org/${llvm_version}"
output_dir="${tmp_dir}/${url_base}"
wget --recursive --level 1 --directory-prefix="${tmp_dir}" \
--accept-regex "(clang%2bllvm|LLVM)-.*tar.(xz|gz)$" "http://${url_base}/"
--accept-regex "(clang%2bllvm|LLVM)-.*(.exe|.tar.gz|.tar.xz)$" "http://${url_base}/"
}

github_host() {
Expand All @@ -71,7 +71,7 @@ github_host() {
cd "${output_dir}"
curl -s "https://api.github.com/repos/llvm/llvm-project/releases/tags/llvmorg-${llvm_version}" |
tee ./releases.json |
jq '.assets[]|select(any(.name; test("^(clang[+]llvm|LLVM)-.*tar.(xz|gz)$")))|.browser_download_url' |
jq '.assets[]|select(any(.name; test("^(clang[+]llvm|LLVM)-.*(.exe|.tar.gz|.tar.xz)$")))|.browser_download_url' |
tee ./filtered_urls.txt |
xargs -n1 curl -L -O -C -
)
Expand All @@ -87,7 +87,7 @@ echo ""
echo "===="
echo "Checksums for clang+llvm distributions are (${output_dir}):"
echo " # ${llvm_version}"
find "${output_dir}" -type f \( -name 'clang%2?llvm-*.tar.*' -o -name 'LLVM-*.tar.*' \) \( -name '*.gz' -o -name '*.xz' \) -exec shasum -a 256 {} \; |
find "${output_dir}" -type f \( -name 'clang%2?llvm-*' -o -name 'LLVM-*' \) \( -name '*.exe' -o -name '*.tar.gz' -o -name '*.tar.xz' \) -exec shasum -a 256 {} \; |
sed -e "s@${output_dir}/@@" |
awk '{ printf " \"%s\": \"%s\",\n", $2, $1 }' |
sed -e 's/%2[Bb]/+/' |
Expand Down