remove glibc hacks and update Zig SDK
This commit is contained in:
parent
6ba4b61d05
commit
19c735c41a
@ -12,13 +12,6 @@ declare_files(
|
|||||||
os = {os},
|
os = {os},
|
||||||
)
|
)
|
||||||
|
|
||||||
exports_files([
|
|
||||||
"glibc-hacks/fcntl.map",
|
|
||||||
"glibc-hacks/fcntl.h",
|
|
||||||
"glibc-hacks/res_search.map",
|
|
||||||
"glibc-hacks/res_search.h",
|
|
||||||
])
|
|
||||||
|
|
||||||
declare_cc_toolchains(
|
declare_cc_toolchains(
|
||||||
os = {os},
|
os = {os},
|
||||||
zig_sdk_path = {zig_sdk_path},
|
zig_sdk_path = {zig_sdk_path},
|
||||||
|
@ -20,14 +20,14 @@ URL_FORMAT_NIGHTLY = "https://ziglang.org/builds/zig-{host_platform}-{version}.{
|
|||||||
# generous enough to host the artifacts, which we use.
|
# generous enough to host the artifacts, which we use.
|
||||||
URL_FORMAT_BAZELMIRROR = "https://mirror.bazel.build/" + URL_FORMAT_NIGHTLY.lstrip("https://")
|
URL_FORMAT_BAZELMIRROR = "https://mirror.bazel.build/" + URL_FORMAT_NIGHTLY.lstrip("https://")
|
||||||
|
|
||||||
_VERSION = "0.11.0-dev.1796+c9e02d3e6"
|
_VERSION = "0.11.0-dev.2545+311d50f9d"
|
||||||
|
|
||||||
_HOST_PLATFORM_SHA256 = {
|
_HOST_PLATFORM_SHA256 = {
|
||||||
"linux-aarch64": "5902b34b463635b25c11555650d095eb5030e2a05d8a4570c091313cd1a38b12",
|
"linux-aarch64": "9a4582c534802454775d2c3db33c472f55285b5203032d55fb13c5a41cc31833",
|
||||||
"linux-x86_64": "aa9da2305fad89f648db2fd1fade9f0f9daf01d06f3b07887ad3098402794778",
|
"linux-x86_64": "b0895fe5d83dd361bd268580c9de5d5a3c42eaf966ea049bfae93eb537a88633",
|
||||||
"macos-aarch64": "51b4e88123d6cbb102f2a6665dd0d61467341f36b07bb0a8d46a37ea367b60d5",
|
"macos-aarch64": "6f9aabd01d5200fe419e5fa54846e67f8342bf4cbebb71f735a729f4daaf4190",
|
||||||
"macos-x86_64": "dd8eeae5249aa21f9e51ff4ff536a3e7bf2c0686ee78bf6032d18e74c8416c56",
|
"macos-x86_64": "4bc1f1c28637b49b4ececdc819fc3d1a5d593560b8667183f26fe861b816279b",
|
||||||
"windows-x86_64": "260f34d0d5312d2642097bb33c14ac552cd57c59a15383364df6764d01f0bfc9",
|
"windows-x86_64": "7673a442a59492235157d6e6549698fd183bd90d43db74bf93ac3611cb3aad46",
|
||||||
}
|
}
|
||||||
|
|
||||||
_HOST_PLATFORM_EXT = {
|
_HOST_PLATFORM_EXT = {
|
||||||
@ -80,36 +80,6 @@ _ZIG_TOOLS = [
|
|||||||
"ar",
|
"ar",
|
||||||
]
|
]
|
||||||
|
|
||||||
_template_mapfile = """
|
|
||||||
%s {
|
|
||||||
%s;
|
|
||||||
};
|
|
||||||
"""
|
|
||||||
|
|
||||||
_template_linker = """
|
|
||||||
#ifdef __ASSEMBLER__
|
|
||||||
.symver {from_function}, {to_function_abi}
|
|
||||||
#else
|
|
||||||
__asm__(".symver {from_function}, {to_function_abi}");
|
|
||||||
#endif
|
|
||||||
"""
|
|
||||||
|
|
||||||
def _glibc_hack(from_function, to_function_abi):
|
|
||||||
# Cannot use .format(...) here, because starlark thinks
|
|
||||||
# that the byte 3 (the opening brace on the first line)
|
|
||||||
# is a nested { ... }, returning an error:
|
|
||||||
# Error in format: Nested replacement fields are not supported
|
|
||||||
to_function, to_abi = to_function_abi.split("@")
|
|
||||||
mapfile = _template_mapfile % (to_abi, to_function)
|
|
||||||
header = _template_linker.format(
|
|
||||||
from_function = from_function,
|
|
||||||
to_function_abi = to_function_abi,
|
|
||||||
)
|
|
||||||
return struct(
|
|
||||||
mapfile = mapfile,
|
|
||||||
header = header,
|
|
||||||
)
|
|
||||||
|
|
||||||
def _quote(s):
|
def _quote(s):
|
||||||
return "'" + s.replace("'", "'\\''") + "'"
|
return "'" + s.replace("'", "'\\''") + "'"
|
||||||
|
|
||||||
@ -252,16 +222,6 @@ def _zig_repository_impl(repository_ctx):
|
|||||||
)
|
)
|
||||||
repository_ctx.symlink("tools/launcher{}".format(exe), tool_path)
|
repository_ctx.symlink("tools/launcher{}".format(exe), tool_path)
|
||||||
|
|
||||||
fcntl_hack = _glibc_hack("fcntl64", "fcntl@GLIBC_2.2.5")
|
|
||||||
repository_ctx.file("glibc-hacks/fcntl.map", content = fcntl_hack.mapfile)
|
|
||||||
repository_ctx.file("glibc-hacks/fcntl.h", content = fcntl_hack.header)
|
|
||||||
res_search_amd64 = _glibc_hack("res_search", "__res_search@GLIBC_2.2.5")
|
|
||||||
repository_ctx.file("glibc-hacks/res_search-amd64.map", content = res_search_amd64.mapfile)
|
|
||||||
repository_ctx.file("glibc-hacks/res_search-amd64.h", content = res_search_amd64.header)
|
|
||||||
res_search_arm64 = _glibc_hack("res_search", "__res_search@GLIBC_2.17")
|
|
||||||
repository_ctx.file("glibc-hacks/res_search-arm64.map", content = res_search_arm64.mapfile)
|
|
||||||
repository_ctx.file("glibc-hacks/res_search-arm64.h", content = res_search_arm64.header)
|
|
||||||
|
|
||||||
zig_repository = repository_rule(
|
zig_repository = repository_rule(
|
||||||
attrs = {
|
attrs = {
|
||||||
"version": attr.string(),
|
"version": attr.string(),
|
||||||
|
@ -121,16 +121,6 @@ def _target_windows(gocpu, zigcpu):
|
|||||||
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
|
def _target_linux_gnu(gocpu, zigcpu, glibc_version):
|
||||||
glibc_suffix = "gnu.{}".format(glibc_version)
|
glibc_suffix = "gnu.{}".format(glibc_version)
|
||||||
|
|
||||||
compiler_extra_includes = []
|
|
||||||
linker_version_scripts = []
|
|
||||||
if glibc_version < "2.28":
|
|
||||||
# https://github.com/ziglang/zig/issues/5882#issuecomment-888250676
|
|
||||||
compiler_extra_includes.append("glibc-hacks/fcntl.h")
|
|
||||||
linker_version_scripts.append("glibc-hacks/fcntl.map")
|
|
||||||
if glibc_version < "2.34":
|
|
||||||
compiler_extra_includes.append("glibc-hacks/res_search-{}.h".format(gocpu))
|
|
||||||
linker_version_scripts.append("glibc-hacks/res_search-{}.map".format(gocpu))
|
|
||||||
|
|
||||||
return struct(
|
return struct(
|
||||||
gotarget = "linux_{}_{}".format(gocpu, glibc_suffix),
|
gotarget = "linux_{}_{}".format(gocpu, glibc_suffix),
|
||||||
zigtarget = "{}-linux-{}".format(zigcpu, glibc_suffix),
|
zigtarget = "{}-linux-{}".format(zigcpu, glibc_suffix),
|
||||||
@ -143,8 +133,6 @@ def _target_linux_gnu(gocpu, zigcpu, glibc_version):
|
|||||||
(["libc/include/{}-linux-any".format(zigcpu)] if zigcpu != "x86_64" else []) + [
|
(["libc/include/{}-linux-any".format(zigcpu)] if zigcpu != "x86_64" else []) + [
|
||||||
"libc/include/any-linux-any",
|
"libc/include/any-linux-any",
|
||||||
] + _INCLUDE_TAIL,
|
] + _INCLUDE_TAIL,
|
||||||
compiler_extra_includes = compiler_extra_includes,
|
|
||||||
linker_version_scripts = linker_version_scripts,
|
|
||||||
dynamic_library_linkopts = [],
|
dynamic_library_linkopts = [],
|
||||||
copts = [],
|
copts = [],
|
||||||
libc = "glibc",
|
libc = "glibc",
|
||||||
|
Loading…
Reference in New Issue
Block a user