Re: [CFT] Buildworld ccache support

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Wed, 21 Oct 2015 18:16:16 -0700
On 10/21/2015 3:13 PM, Bryan Drewery wrote:
> On 10/21/2015 1:44 PM, Juan Ramón Molina Menor wrote:
>> +.if ${CC:M/*} == ""
>> +# Can use PATH.
>> +PATH:= ${CCACHE_WRAPPER_PATH}:${PATH}
> 
> These lines in particular did have problems that I fixed recently.
> 
> - It would potentially add /usr/local/libexec/ccache into PATH multiple
> times in sub-makes (I think, it may have been my own PATH confusing me).
> This would still use ccache.
> - It would consider the '-isystem /usr/obj/...' used for LIB32MAKE to
> match on '${CC:M/*}' which is intended to see if the compiler itself
> starts with a /. In this case of building during build32 ccache was not
> used.
> 
> I have since added 'env CCACHE=1' to CC and an .info ${PATH} near this
> code to see if it is working and it sure seems to be working in all of
> the build.  This does suggest that using the PATH method may not be good
> as it leads to confusion about whether it is used or not.
> 
> I have seen ccache stats get really messed up before.  They seemed stuck
> to me earlier.  I had updated ccache in ports recently and had been
> building Poudriere using my global ccache dir.  Outside of the jail I
> still had the older ccache.  This may have led to it messing up my cache
> and stats.  Once I upgraded ccache in the host and cleaned the cache it
> seemed to resume incrementing the counters.
> 
> I've also since removed the CCP handling from the patch as I found that
> ccache just records a stat and bails out in that case.
> 

Subtle changes in the environment or make command line could not use the
cache too. Some of my recent changes in the build system may have caused
no cache to be used in the next build.

-- 
Regards,
Bryan Drewery


Received on Wed Oct 21 2015 - 23:16:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:00 UTC