compiler instead of stat-ing or hashing the compiler binary. This can
improve robustness when the compiler (as seen by ccache) actually isn't
the real compiler but another compiler wrapper.
+
- Added support for compilations using precompiled headers. (See the manual
for important instructions regarding this.)
+
- Locking of the files containing statistics counters is now done using
symlinks instead of POSIX locks. This should make ccache behave a lot
better on file systems (e.g. NFS) where broken POSIX locks are slow or
broken.
+
- Locks are no longer taken when updating manifest files. (A race between
two writing processes will only result in one lost entry, which is not a
big deal, and it's also very unlikely.)
+
- Updates of statistics counters are now always done in one of the
sub-level statistics files. This reduces lock contention, which
especially improves performance on slow NFS mounts.
+
- Reading and writing of statistics counters is now forward-compatible
(unknown counters are retained).
+
- Files are now read without using mmap(). (This has two benefits: it's
more robust against file changes during reading and it improves
performance on poor systems where mmap() doesn't use the disk cache.)
+
- Added `.cp` and `.CP` as known C++ suffixes.
+
- Improved logging.
+
- Added `-install_name` as an option known to take an argument. (This
improves statistics when using the Darwin linker.)
- Non-fatal error messages are now never printed to stderr but logged
instead.
+
- Fixed bug affecting failing commands when `--ccache-skip` is used.
- Work on porting ccache to win32 (native), mostly done by Ramiro Polla.
The port is not yet finished, but will hopefully be complete in some
subsequent release.
+
- Added a --nostats flag to the performance benchmark program.
+
- Made the performance benchmark program more accurate when measuring cache
hits.
+
- Added a new test framework for unit tests written in C.
+
- Got rid of configure-dev; dev mode is now given by dev.mk.in presence.
+
- Improved documentation on how to combine ccache with other compiler
wrappers (like distcc).
+
- New `LICENSE.txt` file with licensing and copyright detail about bundled
source code.
+
- New `AUTHORS.txt` file with a list of ccache contributors.
+
- New `HACKING.txt` file with some notes about ccache code conventions.