You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To avoid large swathes of compiler warnings during distributed compilation, we try to limit client-side preprocessing to only resolve includes, and not substitute #defines etc. This mode is enabled when rewrite_includes_only = true is set in the dist config.
However, this mode is currently unimplemented on Windows: msvc.rs ignores the rewrite_includes_only parameter.
MSVC's cl.exe does not appear to support an argument to unlock this mode. However, clang-cl does, in an underhanded way, with the -clang:-frewrite-includes argument. So we can support rewrite_includes_only in msvc.rs if clang-cl is used.
With this change, I've been able to build Firefox on Windows with distributed sccache successfully. Without this change, the build was 1. failing because some directories had -Werror enabled and 2. extremely slow, because the console delayed everything by trying to keep up with the huge amounts of warning output.
The text was updated successfully, but these errors were encountered:
mstange
added a commit
to mstange/sccache
that referenced
this issue
Dec 3, 2020
To avoid large swathes of compiler warnings during distributed compilation, we try to limit client-side preprocessing to only resolve includes, and not substitute #defines etc. This mode is enabled when
rewrite_includes_only = true
is set in the dist config.However, this mode is currently unimplemented on Windows: msvc.rs ignores the
rewrite_includes_only
parameter.sccache/src/compiler/msvc.rs
Line 69 in e66c9c1
MSVC's cl.exe does not appear to support an argument to unlock this mode. However, clang-cl does, in an underhanded way, with the
-clang:-frewrite-includes
argument. So we can supportrewrite_includes_only
in msvc.rs if clang-cl is used.With this change, I've been able to build Firefox on Windows with distributed sccache successfully. Without this change, the build was 1. failing because some directories had -Werror enabled and 2. extremely slow, because the console delayed everything by trying to keep up with the huge amounts of warning output.
The text was updated successfully, but these errors were encountered: