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