[ccache] ccache 3.0pre1 has been released

Joel Rosdahl joel at rosdahl.net
Mon May 10 14:46:31 MDT 2010


I'm pleased to announce ccache version 3.0pre1. I expect this prerelease
(or call it beta release if you want) to be very close to the upcoming
3.0 release functionality-wise, so I encourage everyone to try it out.
And please report any bugs or misbehaviours you find to this mailing
list or the bug tracker.

The source archive can be found here:


To find out what has changed since the previous stable version (2.4),
please see the NEWS file:


You can also read the HTML version of the manual:


Here's a list of changes between 3.0pre0 and 3.0pre1:

Major changes:

  - ccache is now GPLv3+ instead of GPLv2+.
  - Compression of object files in the cache is now off by default.
    Enable by setting CCACHE_COMPRESSION.
  - CCACHE_BASEDIR is now off by default since it affects the compiler
    semantics too much.
  - The way the hash sums are calculated has changed again. Sorry about

New features and improvements:

  - Added CCACHE_VERBOSE option.
  - Added CCACHE_EXTRAFILES option.
  - Improved debug logging.
  - The compiler options -imultilib, -iquote, -isysroot, -nostdinc,
    -nostdinc++ and -U are no longer hashed in preprocessor mode.

Bug fixes:

  - Fixed caching of empty source files in direct mode.
  - Avoid storing file hash in manifest in read-only mode.
  - Don't compile the preprocessed source code when using -g3 (bug
  - The compiler option -finput-charset is now handled correctly (bug
  - umask is now set earlier since ccache_main() may create
  - Corrected implementation of strndup() replacement.
  - Improved handling of -Wp,* compiler options.
  - Various code cleanups.
  - The compiler options -Xassembler, -b, -G and -V are now correctly
    recognized as taking an argument.
  - Computation of the hash sum has been improved to decrease the risk
    of collisions.
  - Code that uses (or rather: potentially uses) __{DATE,FILE,TIME}__
    macros is handled correctly in direct mode.
  - Bail out early on the compiler option -arch since it's too hard to
  - Include hostname in temporary file names to avoid potential NFS
  - The temporary object file is now renamed (instead of copy+delete) if
  - Improved error checking when reading compressed files from the
  - Improved detection of recursive invocation (bug #7411).


  - Rewrote the manual and other documents into AsciiDoc format.
  - Documented that the ".incbin" inline assembler directive causes
  - Improved documentation of how the direct mode works.
  - Added "Compiling in different directories" section in the manual.
  - Added "Sharing a cache on NFS" section in the manual.
  - Improved benchmarking script.

-- Joel

More information about the ccache mailing list