Source
pub fn canBuildLibC(target: std.Target) bool {
for (available_libcs) |libc| {
if (target.cpu.arch == libc.arch and target.os.tag == libc.os and target.abi == libc.abi) {
if (libc.os_ver) |libc_os_ver| {
if (switch (target.os.versionRange()) {
.semver => |v| v,
.linux => |v| v.range,
else => null,
}) |ver| {
if (ver.min.order(libc_os_ver) == .lt) return false;
}
}
if (libc.glibc_min) |glibc_min| {
if (target.os.versionRange().gnuLibCVersion().?.order(glibc_min) == .lt) return false;
}
return true;
}
}
return false;
}