ccache support for make buildworld/make release
Maxim Sobolev
sobomax at portaone.com
Wed Aug 25 13:52:39 PDT 2004
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
>
>
More information about the freebsd-current
mailing list