Copyright (C) 2002-2007 Andrew Tridgell
- Copyright (C) 2009-2017 Joel Rosdahl
+ Copyright (C) 2009-2018 Joel Rosdahl
From: JinWang An
+Alexey Tourbin <alexey.tourbin@gmail.com>
+
Alfred Landrum <alfred.landrum@riverbed.com>
-Anders Björklund <anders@psqr.se>
+Anders F Björklund <anders.f.bjorklund@gmail.com>
-Andrew P Boie <andrew.p.boie@intel.com>
+Andreas Huber <andreas.huber@deltaww.com>
-Andrew Stubbs <ams@codesourcery.com>
+André Klitzing <aklitzing@gmail.com>
-Andrew Tridgell <tridge@samba.org>
+Andrew P Boie <andrew.p.boie@intel.com>
-André Klitzing <aklitzing@gmail.com>
+Andrew Stubbs <ams@codesourcery.com>
+
+Andrew Tridgell <tridge@samba.org>
+Edward Z. Yang <ezyang@fb.com>
+
Eric Blau <Eric.Blau@tekelec.com>
+Geert Bosch <geert@mongodb.com>
+
Hongli Lai <hongli@phusion.nl>
-Justin Lebar <justin.lebar@gmail.com>
+Jørgen P. Tjernø <jorgen@valvesoftware.com>
-Jørgen P. Tjernø <jorgen@valvesoftware.com>
+Justin Lebar <justin.lebar@gmail.com>
+Oded Shimon <oded@istraresearch.com>
+
+orbitcowboy <ettl.martin78@gmail.com>
+
Orgad Shaneh <orgad.shaneh@audiocodes.com>
-RW <fbsd06@mlists.homeunix.com>
+Ramiro Polla <ramiro.polla@gmail.com>
-Ramiro Polla <ramiro.polla@gmail.com>
+Robin H. Johnson <robbat2@gentoo.org>
-Robin H. Johnson <robbat2@gentoo.org>
+Rolf Bjarne Kvinge <rolf@xamarin.com>
-Rolf Bjarne Kvinge <rolf@xamarin.com>
+RW <fbsd06@mlists.homeunix.com>
-Tor Arne Vestbø <torarnv@gmail.com>
+Tom Hughes <tomtheengineer@gmail.com>
+
+Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Sets the limit when cleaning up. Files are deleted (in LRU order) until the
- levels are below the limit. The default is 0.8 (= 80%).
+ levels are below the limit. The default is 0.8 (= 80%). See
+ AUTOMATIC CLEANUP for more information.
This option specifies the maximum number of files to keep in the cache. Use
- 0 for no limit (which is the default).
+ 0 for no limit (which is the default). See also
+ CACHE SIZE MANAGEMENT.
ccache authors
-version 3.3.4
+version 3.3.5
ccache copyright and license
-version 3.3.4
+version 3.3.5
+ Copyright (C) 2009-2018 Joel Rosdahl
Copyright (C) 2002-2007 Andrew Tridgell
- Copyright (C) 2009-2017 Joel Rosdahl
CCACHE(1)
-version 3.3.4
+version 3.3.5
This option specifies the maximum size of the cache. Use 0 for no limit. The default value is 5G. Available suffixes: k, M, G, T (decimal) and Ki, - Mi, Gi, Ti (binary). The default suffix is "G". + Mi, Gi, Ti (binary). The default suffix is "G". See also + CACHE SIZE MANAGEMENT.
ccache normally examines a file’s contents to determine whether it matches the cached version. With this option set, ccache will consider a file as - matching its cached version if the sizes, mtimes and ctimes match. + matching its cached version if the mtimes and ctimes match.
- Be sloppy about #defines when precompiling a header file. See + Be sloppy about #defines when precompiling a header file. See PRECOMPILED HEADERS for more information.
By default, ccache has a five gigabyte limit on the total size of files in the -cache and no maximum number of files. You can set different limits using the +
By default, ccache has a 5 GB limit on the total size of files in the cache and +no limit on the number of files. You can set different limits using the -M/--max-size and -F/--max-files options. Use ccache -s/--show-stats to see the cache size and the currently configured limits (in addition to other various statistics).
Cleanup can be triggered in two different ways: automatic and manual.
ccache maintains counters for various statistics about the cache, including the +size and number of all cached files. In order to improve performance and reduce +issues with concurrent ccache invocations, there is one statistics file for +each of the sixteen subdirectories in the cache.
After a new compilation result has been written to the cache, ccache will +update the size and file number statistics for the subdirectory (one of +sixteen) to which the result was written. Then, if the size counter for said +subdirectory is greater than max_size / 16 or the file number counter is +greater than max_files / 16, automatic cleanup is triggered.
When automatic cleanup is triggered for a subdirectory in the cache, ccache +will:
+Count all files in the subdirectory and compute their aggregated size. +
++Remove files in LRU (least recently used) order until the size is at most + limit_multiple * max_size / 16 and the number of files is at most + limit_multiple * max_files / 16, where limit_multiple, max_size and + max_files are configuration settings. +
++Set the size and file number counters to match the files that were kept. +
+The reason for removing more files than just those needed to not exceed the max +limits is that a cleanup is a fairly slow operation, so it would not be a good +idea to trigger it often, like after each cache miss.
You can run ccache -c/--cleanup to force cleanup of the whole cache, i.e. all +of the sixteen subdirectories. This will recalculate the statistics counters +and make sure that the max_size and max_files settings are not exceeded. +Note that limit_multiple is not taken into account for manual cleanup.
You must set sloppiness to pch_defines,time_macros. The reason is that ccache can’t tell whether __TIME__ or __DATE__ is used when using a - precompiled header. Further, it can’t detect changes in #defines in the + precompiled header. Further, it can’t detect changes in #defines in the source code because of how preprocessing works in combination with precompiled headers.
@@ -2371,9 +2419,9 @@ maintained by Joel Rosdahl. See AUTHORS.txt or AUTHORS.html andRelease date: 2018-01-13
+Documented how automatic cache cleanup works. +
+
+Fixed a regression where the original order of debug options could be lost.
+ This reverts the “Improved parsing of -g*
options” feature in ccache 3.3.
+
+Multiple -fdebug-prefix-map
options should now be handled correctly.
+
+Fixed matching of directories in the ignore_headers_in_manifest
+ configuration option.
+
+Fixed detection of missing argument to -opt
/--options-file
.
+
+ccache now bails out when building a precompiled header if any of the + corresponding header files have an updated timestamp. This fixes complaints + from clang. +
++Fixed a bug related to erroneously storing a dependency file with absolute + paths in the cache on a preprocessed hit. +
+
+ccache -c/--cleanup
now works like documented: it just recalculates size
+ counters and trims the cache to not exceed the max size and file number
+ limits. Previously, the forced cleanup took “limit_multiple” into account,
+ so that ccache -c/--cleanup
by default would trim the cache to 80% of the
+ max limit.
+
+ccache no longer ignores linker arguments for clang since clang warns about + them. +
++Plugged a couple of file descriptor leaks. +
+
+Fixed a bug where ccache would skip hashing the compiler argument following a
+ -fno-working-directory
, -fworking-directory
, -nostdinc
, -nostdinc++
,
+ -remap
or -trigraphs
option in preprocessor mode.
+
Release date: 2017-02-17
@@ -756,7 +839,7 @@ Documented the different cache statistics counters.
@@ -786,7 +869,7 @@ Fixed undefined behavior warnings in ccache found by Release date: 2016-10-26
@@ -803,7 +886,7 @@ ccache now detects usage of Release date: 2016-09-28
@@ -828,7 +911,7 @@ Fixed a regression in ccache 3.3.1: ccache could get confused when using the
Release date: 2016-09-07
@@ -863,7 +946,7 @@ A C99-compatible compiler is now required to build ccache.
@@ -1010,7 +1093,7 @@ Increased buffer size used when reading file data. This improves performance
@@ -1036,7 +1119,7 @@ Fixed build and test for MinGW32 and Windows.
Release date: 2016-09-28
@@ -1054,7 +1137,7 @@ Fixed a regression in ccache 3.2.8: ccache could get confused when using the
Release date: 2016-09-07
@@ -1078,7 +1161,7 @@ ccache now understands the undocumented Release date: 2016-07-20
@@ -1101,7 +1184,7 @@ ccache now knows how to work around a glitch in the output of GCC 6’s
Release date: 2016-07-12
@@ -1130,7 +1213,7 @@ Fixed a bug where (due to ccache rewriting paths) the compiler could choose
Release date: 2016-04-17
@@ -1151,7 +1234,7 @@ Made it harder to misinterpret documentation of boolean environment settings'
@@ -1211,7 +1294,7 @@ The man page is now built when running “make install” from Git repos
Release date: 2015-10-08
@@ -1256,7 +1339,7 @@ Fixed a bug where cache cleanup could be run too early for caches larger than
Release date: 2015-08-16
@@ -1266,7 +1349,7 @@ Added support for compiler option
@@ -1303,7 +1386,7 @@ Only log "Disabling direct mode" once when failing to read potential include
Release date: 2015-05-10
@@ -1320,7 +1403,7 @@ Add support for caching code coverage results (compiling for gcov).
@@ -1391,7 +1474,7 @@ Fixed build error when compiling ccache with recent clang versions.
Release date: 2014-12-10
@@ -1432,7 +1515,7 @@ Added missing documentation for Release date: 2014-11-17
@@ -1623,7 +1706,7 @@ Various other improvements of the test suite.
@@ -1654,7 +1737,7 @@ Fixed test suite failures when Release date: 2016-07-12
@@ -1672,7 +1755,7 @@ Fixed a bug where (due to ccache rewriting paths) the compiler could choose
Release date: 2015-03-07
@@ -1703,7 +1786,7 @@ Don’t try to reset a non-existing stats file. This avoids “No such f
Release date: 2014-10-19
@@ -1755,7 +1838,7 @@ Stale files in the internal temporary directory (
@@ -1795,7 +1878,7 @@ Fixed problem with logging of current working directory.
Release date: 2013-01-06
@@ -1845,7 +1928,7 @@ Fixed test suite to work on ecryptfs.
Release date: 2012-08-11
@@ -1866,7 +1949,7 @@ Clang plugins are now hashed to catch plugin upgrades.
@@ -1914,7 +1997,7 @@ Fixed Release date: 2012-01-08
@@ -1987,7 +2070,7 @@ Improved documentation on how to fix bad object files in the cache.
Release date: 2011-08-21
@@ -1997,7 +2080,7 @@ Rewrite argument to
@@ -2018,7 +2101,7 @@ Fixed alignment of “called for preprocessing” counter.
Release date: 2011-05-29
@@ -2050,7 +2133,7 @@ Improved order of statistics counters in
@@ -2083,7 +2166,7 @@ Systems that lack (and don’t need to be linked with) libm are now supporte
Release date: 2011-01-09
@@ -2116,7 +2199,7 @@ The file handle in now correctly closed on write error when trying to create
Release date: 2010-11-28
@@ -2143,7 +2226,7 @@ Portability fixes for HP-UX 11.00 and other esoteric systems.
Release date: 2010-11-21
@@ -2191,7 +2274,7 @@ The test suite now also works on systems that lack a /dev/zero.
Release date: 2010-11-07
@@ -2245,7 +2328,7 @@ Minor debug log message improvements.
Release date: 2010-09-16
@@ -2313,7 +2396,7 @@ Added
@@ -2399,7 +2482,7 @@ New Release date: 2010-07-15
@@ -2445,7 +2528,7 @@ The way the hashes are calculated has changed, so you won’t get cache hits
@@ -2588,7 +2671,7 @@ The following options are no longer hashed in the preprocessor mode:
@@ -2733,9 +2816,9 @@ Statistics counters are now correctly updated for -E option failures and
-fsanitize=undefined<
Bug fixes
+Bug fixes
.incbin
assembler directives in the sou
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
-coverage
(only one dash) G
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
-gsplit-dwarf
.
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
max_files
and max_size
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes
CC
is a ccache-wrapped compiler.
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
<ccache_dir>/tmp
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes
static_assert
macro definition clash with GCC 4.7.
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
--sysroot
if CCACHE_BASEDIR
is use
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
ccache -s
output.
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
-install_name
as an option known to take an argument. (This i
Bug fixes
+Bug fixes
HACKING.txt
file with some notes about ccache code conventions.
Bug fixes
+Bug fixes
New features and improvements
+New features and improvements
Bug fixes
+Bug fixes