On Sun, Sep 12, 2004 at 04:03:11PM +0200, Jens Schweikhardt wrote: > Following up myself, > > On Sun, Sep 12, 2004 at 01:24:11PM +0200, Jens Schweikhardt wrote: > # On Wed, Aug 25, 2004 at 11:33:42AM -0700, Kris Kennaway wrote: > # ... > # # BTW, I don't think there's anything to set up..you just set > # # CC="ccache cc" or similar. > > I've investigated further and found that the cc which is used > after bootstrapping uses a different start for include path > search, e.g. > > /usr/bin/cc -v ... > #include "..." search starts here: > #include <...> search starts here: > /usr/include > End of search list. > > /usr/obj/share/HEAD/src/i386/usr/bin/cc -v ... > #include "..." search starts here: > #include <...> search starts here: > /usr/obj/share/HEAD/src/i386/usr/include > End of search list. > > This is why the includes are not found when ccache is forced to use > /usr/bin/cc. Which somewhat defeats the purpose of ccache: if the > build switches compilers, ccache only speeds up the bootstrapping > up to that point. Unfortunately, ccache also hashes the compiler's > modification timestamp, so each time a new cc is used in the build, > this effectively means no more cache hits for all previous compiled > files. > > Hmm. Maybe I could hack ccache to make it ignore the modification > timestamp... Hmmm. Room for foot shooting... Hmmm. > ccache can be useful with "make all". But with buildworld, since the compiler is alwys rebuilt, ccache is only useful with -DNOCLEAN, when the compiler is not upgraded. Cheers, -- Ruslan Ermilov ru_at_FreeBSD.org FreeBSD committer
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:11 UTC