50ca49181f
Zig does not always share `libc++.a` and the glibc shims. We have observed to be caused for 2 reasons: - For some commands Go `chdir`s to `/tmp/`. This causes `ZIG_LIB_DIR` to be absolute, which blows the cache key to find the right `libc++.a` (because Zig thinks we are using a different lib dir to compile libc++). This is currently worked around in `toolchain/defs.bzl` by overfitting to Go and returning early from that particular invocation. - Sometimes Bazel's sandbox messes up Zig's cache keys. If one runs without the sandbox (`--spawn_strategy=standalone`), the cache hit rate and thus the build time are much better. This is actively investigated. I am adding `--spawn_strategy=standalone` to CI to see the speedup that it provides. I will rollback it later. |
||
---|---|---|
.. | ||
libc | ||
libc_aware | ||
platform | ||
private | ||
toolchain | ||
BUILD | ||
BUILD.sdk.bazel | ||
defs.bzl | ||
zig_toolchain.bzl |