mirror of
https://github.com/reactos/ccache.git
synced 2025-01-25 04:44:36 +00:00
93 lines
3.4 KiB
Plaintext
93 lines
3.4 KiB
Plaintext
Changes since ccache 2.4
|
|
------------------------
|
|
|
|
New features and improvements:
|
|
|
|
- Implemented a mode called "direct mode" where ccache computes a hash of the
|
|
source code and compiler arguments without running the preprocessor. By not
|
|
running the preprocessor, CPU usage is reduced; the runtime is about
|
|
0.2-1.0 times that of ccache running in traditional mode. The relative
|
|
speedup will be higher when I/O is fast (e.g., when files are in the disk
|
|
cache). The direct mode can be disabled by setting CCACHE_NODIRECT.
|
|
|
|
- When hashing the output from the preprocessor, absolute paths for which the
|
|
path specified by CCACHE_BASEDIR is a prefix are rewritten to relative.
|
|
Paths specified by -I and similar flags get the same treatment. This is
|
|
done to get cache hits even when compiling with -g and when using absolute
|
|
include directory paths. Absolute paths in the standard error text will
|
|
also be more accurate. CCACHE_BASEDIR defaults to the current working
|
|
directory.
|
|
|
|
- Object files are now by default stored compressed in the cache. The runtime
|
|
cost is negligible, and more files will fit in the ccache directory and in
|
|
the disk cache. CCACHE_NOCOMPRESS can be set to disable object file
|
|
compression.
|
|
|
|
- Added CCACHE_NOHASH_SIZE_MTIME option that tells ccache not to hash the
|
|
real compiler's size and modification time.
|
|
|
|
- Added CCACHE_HASH_COMPILER option that tells ccache to hash binary of the
|
|
compiler instead of hashing just its size and modification time.
|
|
|
|
- Temporary files are now created in the directory they will end up in. This
|
|
makes ccache more friendly to Linux's directory layout.
|
|
|
|
- Added support for long command-line options.
|
|
|
|
- A CACHEDIR.TAG file is now created in the cache directory. See
|
|
<http://www.brynosaurus.com/cachedir/>.
|
|
|
|
- Improved logging.
|
|
|
|
- By default, ccache now puts temporary files in CCACHE_DIR/tmp to avoid
|
|
cluttering the top directory.
|
|
|
|
- Improved the test suite and added tests for most of the new functionality.
|
|
It's now also possible to specify a subset of tests to run.
|
|
|
|
- Standard error output from the compiler is now only stored in the cache if
|
|
it's non-empty.
|
|
|
|
- Added installcheck and distcheck make targets.
|
|
|
|
- Clarified cache size limit options' semantics
|
|
|
|
Bug fixes:
|
|
|
|
- Fixed build on FreeBSD.
|
|
|
|
- Improved detection of home directory.
|
|
|
|
- User-defined CPPFLAGS and LDFLAGS is now respected in the Makefile.
|
|
|
|
- Fixed NFS issues.
|
|
|
|
- Bail out on profiling flags --coverage, -fprofile-arcs and -ftest-coverage.
|
|
|
|
- -MD/-MMD flags without -MT/-MF are now handled correctly.
|
|
|
|
- Added support for -Wp,-MD and -Wp,-MMD flags.
|
|
|
|
- Corrected LRU cleanup handling of object files.
|
|
|
|
- utimes() is now used instead of utime() when available.
|
|
|
|
- Non-writable cache directories are now handled gracefully.
|
|
|
|
- Corrected documentation about sharing the cache directory.
|
|
|
|
- Fixed compilation warnings from GCC 4.3.
|
|
|
|
- The command specified by CCACHE_PREFIX is no longer part of the hash.
|
|
|
|
- Fixed bad memory access spotted by Valgrind.
|
|
|
|
- Removed deprecated constructions from ccache.yo.
|
|
|
|
Compatibility notes:
|
|
|
|
- The statistics counters "files in cache" and "cache size" now only include
|
|
object files (previously, files containing cached standard error output
|
|
were counted as well). Consequently, the "max file" and "max cache size"
|
|
settings now specify thresholds for object files count and size.
|