Hi,
On 2022-03-03 22:56:15 -0600, Justin Pryzby wrote:
> On Sun, Feb 20, 2022 at 12:47:31PM -0800, Andres Freund wrote:
> > On 2022-02-20 13:36:55 -0600, Justin Pryzby wrote:
> > > Have you tried to use the yet-to-be-released ccache with MSVC ?
> >
> > Yes, it doesn't work, because it requires cl.exe to be used in a specific way
> > (only a single input file, specific output file naming). Which would require a
> > decent amount of changes to src/tools/msvc. I think it's more realistic with
> > meson etc.
>
> Did you get to the point that that causes a problem, or did you just realize
> that it was a limitation that seems to preclude its use ?
I tried to use it, but saw that no caching was happening, and debugged
it. Which yielded that it can't be used due to the way output files are
specified (and due to multiple files, but that can be prevented with an
msbuild parameter).
> If so, could you send the branch/commit you had ?
This was in a local VM, not cirrus. I ended up making it work with the meson
build, after a bit of fiddling. Although bypassing msbuild (by building with
ninja, using cl.exe) is a larger win...
> The error I'm getting when I try to use ccache involves .rst files, which don't
> exist (and which ccache doesn't know how to find or ignore).
> https://cirrus-ci.com/task/5441491957972992
ccache has code to deal with response files. I suspect the problem here is
rather that ccache expects the compiler as an argument.
> I gather this is the difference between "compiling with MSVC" and compiling
> with a visual studio project.
I doubt it's related to that.
Greetings,
Andres Freund