Skip to content

Tweaks #489

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

Merged
merged 5 commits into from
Apr 27, 2025
Merged
Show file tree
Hide file tree
Changes from 2 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
22 changes: 11 additions & 11 deletions toolchain/internal/common.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -55,27 +55,27 @@ _toolchain_tools_darwin = {
}

def exec_os_key(rctx):
(os, version, arch) = os_version_arch(rctx)
(os, version, arch) = dist_version_arch(rctx)
if version == "":
return "%s-%s" % (os, arch)
else:
return "%s-%s-%s" % (os, version, arch)

_known_distros = [
"freebsd",
"suse",
"ubuntu",
"almalinux",
"amzn",
"arch",
"manjaro",
"centos",
"debian",
"fedora",
"centos",
"amzn",
"raspbian",
"freebsd",
"manjaro",
"ol",
"pop",
"raspbian",
"rhel",
"ol",
"almalinux",
"suse",
"ubuntu",
]

def _linux_dist(rctx):
Expand All @@ -102,7 +102,7 @@ def _linux_dist(rctx):

return distname, version

def os_version_arch(rctx):
def dist_version_arch(rctx):
_os = os(rctx)
_arch = arch(rctx)

Expand Down
26 changes: 15 additions & 11 deletions toolchain/internal/llvm_distributions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -748,11 +748,12 @@ def _distribution_urls(rctx):

sha256 = _llvm_distributions[basename]

if basename.endswith(".tar.xz"):
strip_prefix = basename[:(len(basename) - len(".tar.xz"))]
elif basename.endswith(".tar.zst"):
strip_prefix = basename[:(len(basename) - len(".tar.zst"))]
else:
strip_prefix = ""
for suffix in [".exe", ".tar.gz", ".tar.xz", ".tar.zst"]:
if basename.endswith(suffix):
strip_prefix = basename.rstrip(suffix)
break
if not strip_prefix:
fail("Unknown URL file extension {url}", url = basename)

strip_prefix = strip_prefix.rstrip("-rhel86")
Expand All @@ -776,7 +777,10 @@ def _write_distributions_impl(ctx):
verify that predicted distributions have been configured. Otherwise the
algorithm could not know the hash value.
"""
arch_list = ["aarch64", "x86_64"]
arch_list = [
"aarch64",
"x86_64",
]
os_list = [
"darwin",
"linux",
Expand All @@ -789,11 +793,11 @@ def _write_distributions_impl(ctx):
version_list = []
for name in _llvm_distributions.keys():
for prefix in ["LLVM-", "clang+llvm-"]:
name = name.removeprefix(prefix)
version = name.split("-", 1)[0]
if not _version_ge(version, MIN_VERSION):
continue
version_list.append(version)
if name.startswith(prefix):
version = name.split("-", 2)[1]
if not _version_ge(version, MIN_VERSION):
continue
version_list.append(version)
for version in _llvm_distributions_base_url.keys():
if not _version_ge(version, MIN_VERSION):
continue
Expand Down
28 changes: 14 additions & 14 deletions toolchain/internal/release_name.bzl
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
load(
"//toolchain/internal:common.bzl",
_arch = "arch",
_dist_version_arch = "dist_version_arch",
_os = "os",
_os_version_arch = "os_version_arch",
)

def _major_llvm_version(llvm_version):
Expand Down Expand Up @@ -140,6 +140,18 @@ def _rhel_osname(arch, version, major_llvm_version, llvm_version):

return None

def _resolve_version_for_suse(major_llvm_version, llvm_version):
minor_llvm_version = _minor_llvm_version(llvm_version)
if major_llvm_version < 10:
os_name = "linux-sles11.3"
elif major_llvm_version == 10 and minor_llvm_version == 0:
os_name = "linux-sles11.3"
elif major_llvm_version < 13 or (major_llvm_version == 14 and minor_llvm_version == 0):
os_name = "linux-sles12.4"
else:
os_name = _ubuntu_osname("x86_64", "20.04", major_llvm_version, llvm_version)
return os_name

def _linux(llvm_version, distname, version, arch):
major_llvm_version = _major_llvm_version(llvm_version)

Expand Down Expand Up @@ -199,18 +211,6 @@ def _linux(llvm_version, distname, version, arch):
os_name = os_name,
)

def _resolve_version_for_suse(major_llvm_version, llvm_version):
minor_llvm_version = _minor_llvm_version(llvm_version)
if major_llvm_version < 10:
os_name = "linux-sles11.3"
elif major_llvm_version == 10 and minor_llvm_version == 0:
os_name = "linux-sles11.3"
elif major_llvm_version < 13 or (major_llvm_version == 14 and minor_llvm_version == 0):
os_name = "linux-sles12.4"
else:
os_name = _ubuntu_osname("x86_64", "20.04", major_llvm_version, llvm_version)
return os_name

def llvm_release_name_19(llvm_version, rctx_arch, rctx_os):
arch = {
"aarch64": "ARM64",
Expand All @@ -236,7 +236,7 @@ def llvm_release_name(rctx, llvm_version):
if major_llvm_version >= 19:
return llvm_release_name_19(llvm_version, _arch(rctx), _os(rctx))
else:
(os, version, arch) = _os_version_arch(rctx)
(os, version, arch) = _dist_version_arch(rctx)
if os == "darwin":
return _darwin(llvm_version, arch)
elif os == "windows":
Expand Down