2010-03-17 21:20:15 +00:00
|
|
|
News for ccache 3.0pre1 (unreleased)
|
2010-02-27 22:45:22 +00:00
|
|
|
Changes since ccache 2.4:
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-28 15:41:30 +00:00
|
|
|
UPGRADE NOTES:
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- The way the hashes are calculated has changed, so you won't get cache
|
|
|
|
hits for compilation results stored by older ccache versions.
|
2009-11-14 15:14:55 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- The statistics counters "files in cache" and "cache size" now only count
|
|
|
|
object files. (Previously, files containing cached standard error output
|
|
|
|
were counted as well.) The existing values of the two counters will be
|
|
|
|
erroneous at first after the upgrade, but will correct themselves
|
|
|
|
eventually when enough cleanups have been made, or when you run "ccache
|
|
|
|
--cleanup".
|
2009-11-26 22:36:19 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- The "max file" and "max cache size" settings now specify thresholds for
|
|
|
|
object files count and size.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Because of the changes mentioned above, you might as well clear the old
|
|
|
|
cache directory with "ccache -C" if you want, unless you plan to keep
|
|
|
|
using an older ccache version.
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
NEW FEATURES AND IMPROVEMENTS:
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- ccache now has a "direct mode" where it 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.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- When hashing the output from the preprocessor, absolute paths are
|
|
|
|
rewritten to relative paths, but only for paths under the directory
|
|
|
|
specified by CCACHE_BASEDIR. Paths specified by -I and similar options
|
|
|
|
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. The
|
|
|
|
default value of CCACHE_BASEDIR is the current working directory. To
|
|
|
|
disable the rewriting, set CCACHE_BASEDIR to the empty string.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- 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.
|
2009-11-21 10:30:45 +00:00
|
|
|
|
2010-02-28 15:41:30 +00:00
|
|
|
- A CCACHE_COMPILERCHECK option has been added. This option tells ccache
|
|
|
|
what compiler-identifying information to hash to ensure that results
|
|
|
|
retrieved from the cache are accurate. Possible values are: none (don't
|
|
|
|
hash anything), mtime (hash the compiler's mtime and size) and content
|
|
|
|
(hash the content of the compiler binary). The default is mtime.
|
2009-12-10 17:05:19 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Temporary files are now created in the directory they will end up in.
|
|
|
|
This makes ccache more friendly to Linux's directory layout.
|
2009-12-10 21:19:00 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Added support for long command-line options.
|
2009-12-12 20:27:11 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- A CACHEDIR.TAG file is now created in the cache directory. See
|
|
|
|
<http://www.brynosaurus.com/cachedir/>.
|
2010-02-22 07:36:40 +00:00
|
|
|
|
2010-02-28 15:41:30 +00:00
|
|
|
- Messages printed to the debug log (specified by CCACHE_LOGFILE) have been
|
|
|
|
improved.
|
2009-12-13 14:11:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- By default, ccache now puts temporary files in CCACHE_DIR/tmp to avoid
|
|
|
|
cluttering the top directory.
|
2010-01-06 13:39:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- 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.
|
2010-02-27 13:01:14 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Standard error output from the compiler is now only stored in the cache
|
|
|
|
if it's non-empty.
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- If the compiler produces no object file or an empty object file, but
|
|
|
|
gives a zero exit status (could be due to a file system problem, a buggy
|
|
|
|
program specified by CCACHE_PREFIX, etc.), ccache copes with it properly.
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Added installcheck and distcheck make targets.
|
2009-11-01 18:36:17 +00:00
|
|
|
|
2010-02-28 15:41:30 +00:00
|
|
|
- Clarified cache size limit options' semantics.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Improved display of cache max size values.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-03-17 21:20:15 +00:00
|
|
|
- For debugging purposes, the variable CCACHE_VERBOSE may now be set to
|
|
|
|
make ccache print executed commands to standard output.
|
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
BUG FIXES:
|
2009-12-02 18:56:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Fixed build on FreeBSD.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Improved detection of home directory.
|
2009-12-02 18:56:17 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- User-defined CPPFLAGS and LDFLAGS are now respected in the Makefile.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Fixed NFS issues.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Bail out on too hard compiler options --coverage, -fprofile-arcs,
|
|
|
|
-fprofile-generate, -fprofile-use, -ftest-coverage and -save-temps. Also
|
|
|
|
bail out on "@file" style options.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- -MD/-MMD options without -MT/-MF are now handled correctly.
|
2009-11-01 19:17:39 +00:00
|
|
|
|
2010-04-12 21:23:38 +00:00
|
|
|
- The -finput-charset option is now handled correctly.
|
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Added support for -Wp,-MD and -Wp,-MMD options.
|
2009-11-02 18:01:12 +00:00
|
|
|
|
2010-03-04 20:39:34 +00:00
|
|
|
- Debug information containing line numbers of predefined and command-line
|
|
|
|
macros (enabled with the compiler option -g3) will now be correct.
|
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Corrected LRU cleanup handling of object files.
|
2009-11-21 09:34:04 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- utimes() is now used instead of utime() when available.
|
2009-12-13 13:30:52 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Non-writable cache directories are now handled gracefully.
|
2010-02-20 15:04:07 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Corrected documentation about sharing the cache directory.
|
2010-01-04 19:57:45 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Fixed compilation warnings from GCC 4.3.
|
2010-02-20 15:04:07 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- The command specified by CCACHE_PREFIX is no longer part of the hash.
|
2010-02-20 15:04:07 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Fixed bad memory access spotted by Valgrind.
|
2010-01-04 19:57:45 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Fixed a bug in x_realloc.
|
2010-02-21 09:03:42 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Removed deprecated constructions from ccache.yo.
|
2010-02-21 09:03:42 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- Freed memory is no longer referenced when compiling a .i/.ii file and
|
|
|
|
falling back to running the real compiler.
|
2010-02-21 20:12:55 +00:00
|
|
|
|
2010-02-27 22:45:22 +00:00
|
|
|
- The test suite is now immune to external values of the CCACHE_*
|
|
|
|
environment variables.
|
2010-04-22 20:47:05 +00:00
|
|
|
|
|
|
|
OTHER NOTABLE CHANGES:
|
|
|
|
|
|
|
|
- ccache is now licensed under the GNU Public License (GPL) version 3 or
|
|
|
|
later.
|