Date: Sun, 12 Sep 2004 16:03:11 +0200 From: Jens Schweikhardt <schweikh@schweikhardt.net> To: Kris Kennaway <kris@obsecurity.org> Cc: portmgr@FreeBSD.ORG Subject: Re: ccache support for make buildworld/make release Message-ID: <20040912140311.GA60265@schweikhardt.net> In-Reply-To: <20040912112411.GA62181@schweikhardt.net> References: <412CBC91.3070900@portaone.com> <412CD983.2040700@cronyx.ru> <20040825183342.GA81434@xor.obsecurity.org> <20040912112411.GA62181@schweikhardt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040912140311.GA60265>