[ccache] ccache version 3.2 has been released
joel at rosdahl.net
Mon Nov 17 12:26:12 MST 2014
I'm happy to announce ccache version 3.2, which contains some major new
features and various other improvements.
Details may be read in the release notes:
Source archives are available here:
The source archives have been signed with my OpenPGP key (5594ADB8):
You can run "gpg --verify ccache-3.2.tar.*.asc" to check the source
archive integrity after download.
New features and improvements:
- Added support for configuring ccache via one or several configuration
files instead of via environment variables. Environment variables
still have priority but are no longer the recommended way of
customizing ccache behavior. See the manual for more information.
- Added support for compiler error/warning messages with color.
- Made creation of temporary directories and cache directories smarter
to avoid unnecessary `stat` calls.
- Improved efficiency of the algorithm that scans for `__DATE_` and
`__TIME__` tokens in the hashed source code.
- Added support for several binaries (separated by space) in
- The `-c` option is no longer passed to the preprocessor. This fixes
problems with clang and Solaris's C++ compiler.
- ccache no longer passes preprocessor options like `-D` and `-I` to the
compiler when compiling preprocessed output. This fixes warnings
emitted by clang.
- Compiler options `-fprofile-generate`, `-fprofile-arcs`,
`-fprofile-use` and `-fbranch-probabilities` are now handled without
- Added support for clang's `--serialize-diagnostic` option, storing the
diagnostic file (`.dia`) in the cache.
- Added support for precompiled headers when using clang.
- Added support for clang `.pth` (pretokenized header) files.
- Changed the `-x` language option to use the new objective C standard
for GCC and clang.
- On a cache miss, ccache now instructs the compiler to create the
object file at the real destination and then copies the file into the
cache instead of the other way around. This is needed to support
compiler options like `-fprofile-arcs` and `--serialize-diagnostics`.
- ccache now checks that included files' ctimes aren't too new. This
check can be turned off by adding `include_file_ctime` to the ``ccache
- Added possibility to get cache hits based on filename, size, mtime and
ctime only. On other words, source code files are not even read, only
stat-ed. This operation mode is opt-in by adding `file_stat_matches`
to the ``ccache sloppiness'' setting.
- The filename part of options like `-Wp,-MDfilename` is no longer
included in the hash since the filename doesn't have any bearing on
- Added a ``read-only direct'' configuration setting, which is like the
ordinary read-only setting except that ccache will only try to
retrieve results from the cache using the direct mode, not the
- The display and interpretation of cache size has been changed to use
- Default cache size is now 5 GB (was previously 1 GiB).
- Added configuration option to set the compression level of compressed
object files in the cache.
- Added support for `@file` and `- at file` arguments (reading options from
- `-Wl,` options are no longer included in the hash since they don't
- Bail out on too hard compiler option `-Wp,-P`.
- Optimized MD4 calculation code on little-endian systems.
- Various improvements and fixes on win32.
- Improved logging to the ccache log file.
- Added `--dump-manifest` command-line option for debugging purposes.
- Added `--with-bundled-zlib` configure option.
- Upgraded bundled zlib to version 1.2.8.
- Improved `dev.mk` to be more platform independent.
- Made the test suite work with clang and gcc-llvm on OS X.
- Various other improvements of the test suite.
- Any previous `.stderr` is now removed from the cache when recaching.
- Fixed an issue when handling the `-arch` compiler option with an
- Fixed race condition when creating the initial cache directory.
- Fixed test suite failures when `CC` is a ccache-wrapped compiler.
More information about the ccache