Re: ccache support for make buildworld/make release

From: Maxim Sobolev <sobomax_at_portaone.com>
Date: Wed, 25 Aug 2004 23:51:57 +0300
Yeah, I've noticed that as well. Also, for some reason when I've re-run 
make world second time all objects built after buildtools miss the 
cache. Strange....

-Maxim

Maxim Maximov wrote:

> Kris Kennaway wrote:
> 
>> On Wed, Aug 25, 2004 at 10:25:07PM +0400, Roman Kurakin wrote:
>>
>>> Maxim Sobolev wrote:
>>>
>>>
>>>> Folks,
>>>>
>>>> I wonder if anyone considered adding ccache support for 
>>>> buildworld/release targets. ccache is a tool, which wraps around 
>>>> gcc, allowing to cache object files generated by the compiler to 
>>>> greatly speed-up compilation of the same code over and over 
>>>> (http://ccache.samba.org/).
>>>>
>>>> It acts as a caching pre-processor to C/C++ compilers, using the -E 
>>>> compiler switch and a hash to detect when a compilation can be 
>>>> satisfied from cache.  This often results in a 5 to 10 times speedup.
>>>
>>>
>>> Hm. It seems that this is very cool tool. I would glad to see it in 
>>> FreeBSD.
>>> Since I've 5 branch compiles tooooo long and fast systems for 
>>> compilation
>>> does not always available/possible to use while development.
>>>
>>> I volonteer to test this if needed.
>>
>>
>>
>> BTW, I don't think there's anything to set up..you just set
>> CC="ccache cc" or similar.
>>
>> Kris
> 
> 
> The command
> 
> env CC="/usr/local/bin/ccache cc" make buildworld
> 
> failed with today's CURRENT in libc compilation. Either there's a bug in 
> ccache or something in FreeBSD's build enviroment needs to be tweaked 
> for using ccache:
> 
> /usr/local/bin/ccache cc -O -pipe  -I/usr/src/lib/libc/include 
> -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 
> -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 
> -I/usr/obj/usr/src/lib/libc -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale 
> -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP 
> -DHESIOD -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -Wno-uninitialized -c /usr/src/lib/libc/rpc/des_crypt.c
> /usr/local/bin/ccache cc -O -pipe  -I/usr/src/lib/libc/include 
> -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 
> -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 
> -I/usr/obj/usr/src/lib/libc -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale 
> -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP 
> -DHESIOD -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -Wno-uninitialized -c /usr/src/lib/libc/rpc/des_soft.c
> /usr/local/bin/ccache cc -O -pipe  -I/usr/src/lib/libc/include 
> -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 
> -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 
> -I/usr/obj/usr/src/lib/libc -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale 
> -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP 
> -DHESIOD -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -Wno-uninitialized -c /usr/src/lib/libc/rpc/crypt_client.c
> /usr/local/bin/ccache cc -O -pipe  -I/usr/src/lib/libc/include 
> -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 
> -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 
> -I/usr/obj/usr/src/lib/libc -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale 
> -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP 
> -DHESIOD -Wsystem-headers -Werror -Wall -Wno-format-y2k 
> -Wno-uninitialized -c /usr/src/lib/libc/rpc/key_call.c
> /usr/src/lib/libc/rpc/key_call.c:33:10: extra tokens at end of #ident 
> directive
> *** Error code 1
> 
> Stop in /usr/src/lib/libc.
> *** Error code 1
> 
> Stop in /usr/src/lib.
> *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
> *** Error code 1
> 
> Stop in /usr/src.
> Exit 1
> 
> 
Received on Wed Aug 25 2004 - 18:52:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:08 UTC