FreeBSD ccache port is wonderfiul!

tridge at samba.org tridge at samba.org
Thu Nov 24 23:23:21 GMT 2005


Jens,

 > I'm not sure I understand what you mean by "not use compiler
 > bootstrapping". It's a non-optional part of the FreeBSD build and I like
 > to start from scratch. A new world *must* build, install, and use a
 > temporary environment.

My point is that if you are using tricks to defeat the compiler has
changed test in ccache, then you are not really using the temporary
environment. You are using it for some things, but for some parts of
the build you are using an earlier environment.

That's why I wondered if there should be a varient of buildworld that
uses an existing compiler, rather than using the one built in the
temporary environment. It just makes it a little clearer what risks
are being taken.

I've never actually built freebsd though, so I might be talking
through my hat, and feel free to ignore me :-)

 > Here it's
 > schweikh at hal9000:~ $ ll /usr/local/libexec/ccache/bin
 > total 486
 > -r-xr-xr-x  1 root  wheel   77296 Nov  9 22:35 c++
 > -r-xr-xr-x  1 root  wheel    4080 Nov  9 22:35 c89
 > -r-xr-xr-x  1 root  wheel    4380 Nov  9 22:35 c99
 > -r-xr-xr-x  1 root  wheel  164956 Nov  9 22:35 cc
 > -r-xr-xr-x  1 root  wheel   77296 Nov 13 16:27 g++
 > -r-xr-xr-x  1 root  wheel  164956 Nov 13 16:27 gcc

that's quite small, and I suspect that the speed of
CCACHE_HASH_COMPILER will be good. 

 > Will do, but I'm moving and it may take until January for a definitive
 > go/no go.

no worries. I've put the change in ccache anyway, I'm just curious to
know if this is a workable compromise for freebsd.

 > Yes, I always wondered about that, too. cc1 is the actual binary
 > responsible for code generation, maybe even the assembler must be
 > considered. Looking at the compiler driver may give false positives, if
 > only cc1 or as changes (unlikely, but maybe not just of academic
 > interest).

I've heard of that problem with some gcc developers, who manually
install just the 2nd stage or the assembler when they are trying out
new techniques. I have thought about having a CCACHE_HASH_LIST option
that would take a list of files, but I haven't put it in as I suspect
the number of people that need it would be very small, and those
probably won't trust a compiler cache anyway :-)

 > That's great news, thanks! Any plans for a 2.5 release?

We are probably about due for one, though the changes since 2.4 are
quite small. I'll have a look in my patch queue :-)

Cheers, Tridge


More information about the freebsd-ports mailing list