def exists(): return True def generate(env): if ccache := env.WhereIs("ccache"): env["CCACHE"] = "ccache" env["CC_NOCACHE"] = env["CC"] env["CC"] = "$CCACHE $CC_NOCACHE" # Tricky place: linking is done with CXX # Using ccache breaks it env["LINK"] = env["CXX"] env["CXX_NOCACHE"] = env["CXX"] env["CXX"] = "$CCACHE $CXX_NOCACHE"