ccache support for make buildworld/make release
Jens Schweikhardt
schweikh at schweikhardt.net
Sun Sep 12 07:03:26 PDT 2004
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.
Regards,
Jens
--
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)
More information about the freebsd-current
mailing list