build: scripts/sccache.sh wraps rustc when sccache is installed, and the gates source it

A build cache serves a dependency rebuild after a branch switch or a `git clean` instead of
recompiling it, which is most of what the in-loop verify spends. It stays a convenience and
never a requirement: with nothing on `PATH` nothing is exported and a clone needs only stable
Rust and a C compiler, exactly as before.

`check.sh`, `gates.sh` and `smoke.sh` source it, so the loops pick it up without being asked
and a machine that would rather not have it sets `BENILLA_NO_SCCACHE=1`. An existing
`RUSTC_WRAPPER` wins. Only rustc is wrapped — the vendored Lua build wants its own
`CC="sccache cc"`, so it is not cached by this.
This commit is contained in:
chairmanpow
2026-10-02 13:37:01 +01:00
parent 0b71937624
commit 2f6f35b054
5 changed files with 41 additions and 0 deletions
+3
View File
@@ -16,6 +16,9 @@ if [ -z "$root" ] || [ ! -f "$root/scripts/smoke.sh" ]; then
root="$(cd "$(dirname "$0")/.." && pwd)"
fi
cd "$root" || exit 1
# sccache, when installed, caches the client build below; opt out with BENILLA_NO_SCCACHE=1.
. "$root/scripts/sccache.sh"
echo "smoke: $root"
# Resolve the account first, then unset every inherited WOW_* the case below does not keep, so