summaryrefslogtreecommitdiff
path: root/NEWS.txt
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS.txt')
-rw-r--r--NEWS.txt407
1 files changed, 407 insertions, 0 deletions
diff --git a/NEWS.txt b/NEWS.txt
new file mode 100644
index 0000000..febf44e
--- /dev/null
+++ b/NEWS.txt
@@ -0,0 +1,407 @@
+ccache news
+===========
+
+
+ccache 3.1.6
+------------
+Release date: 2011-08-21
+
+
+New features and improvements
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - Rewrite argument to --sysroot if CCACHE_BASEDIR is used.
+
+
+Bug fixes
+~~~~~~~~~
+
+ - Don't crash if getcwd() fails.
+ - Fixed alignment of "called for preprocessing" counter.
+
+
+ccache 3.1.5
+------------
+Release date: 2011-05-29
+
+
+New features and improvements
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - Added a new statistics counter named ``called for preprocessing''.
+ - The original command line is now logged to the file specified with
+ `CCACHE_LOGFILE`.
+ - Improved error logging when system calls fail.
+ - Added support for rewriting absolute paths in `-F`/`-iframework` GCC
+ options.
+ - Improved order of statistics counters in `ccache -s` output.
+
+
+Bug fixes
+~~~~~~~~~
+
+ - The `-MF`/`-MT`/`-MQ` options with concatenated argument are now handled
+ correctly when they are last on the command line.
+ - ccache is now bug compatible with GCC for the `-MT`/`-MQ` options with
+ concatenated arguments.
+ - Fixed a minor memory leak.
+ - Systems that lack (and don't need to be linked with) libm are now
+ supported.
+
+
+ccache 3.1.4
+------------
+Release date: 2011-01-09
+
+
+Bug fixes
+~~~~~~~~~
+
+ - Made a work-around for a bug in gzputc() in zlib 1.2.5.
+
+ - Corrupt manifest files are now removed so that they won't block direct
+ mode hits.
+
+ - ccache now copes with file systems that don't know about symbolic links.
+
+ - The file handle in now correctly closed on write error when trying to
+ create a cache dir tag.
+
+
+ccache 3.1.3
+------------
+Release date: 2010-11-28
+
+
+Bug fixes
+~~~~~~~~~
+
+ - The -MFarg, -MTarg and -MQarg compiler options (i.e, without space
+ between option and argument) are now handled correctly.
+
+
+Other
+~~~~~
+
+ - Portability fixes for HP-UX 11.00 and other esoteric systems.
+
+
+ccache 3.1.2
+------------
+Release date: 2010-11-21
+
+
+Bug fixes
+~~~~~~~~~
+
+ - Bail out on too hard compiler options `-fdump-*`.
+
+ - NULL return values from malloc/calloc of zero bytes are now handled
+ correctly.
+
+ - Fixed issue when parsing precompiler output on AIX.
+
+
+Other
+~~~~~
+
+ - Improved documentation on which information is included in the hash sum.
+
+ - Made the ``too new header file'' test case work on file systems with
+ unsynchronized clocks.
+
+ - The test suite now also works on systems that lack a /dev/zero.
+
+
+ccache 3.1.1
+------------
+Release date: 2010-11-07
+
+
+Bug fixes
+~~~~~~~~~
+
+ - ccache now falls back to preprocessor mode when a non-regular include
+ file (device, socket, etc) has been detected so that potential hanging
+ due to blocking reads is avoided.
+
+ - CRC errors are now detected when decompressing compressed files in the
+ cache.
+
+ - Fixed potential object file corruption race on NFS.
+
+ - Minor documentation corrections.
+
+ - Fixed configure detection of ar.
+
+ - ccache development version (set by dev.mk) now works with gits whose
+ `describe` command doesn't understand `--dirty`.
+
+
+Other
+~~~~~
+
+ - Minor debug log message improvements.
+
+
+ccache 3.1
+----------
+Release date: 2010-09-16
+
+New features and improvements
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - Added support for hashing the output of a custom command (e.g.
+ `%compiler% --version`) to identify the 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 caching compilations that use 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 where POSIX locks are slow or broken (e.g. NFS on
+ some systems).
+
+ - Manifest files are now updated without the need of taking locks.
+
+ - 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 has been made
+ 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.)
+
+
+Bug fixes
+~~~~~~~~~
+
+ - Non-fatal error messages are now never printed to stderr but logged
+ instead.
+
+ - Fixed a bug affecting failing commands when `--ccache-skip` is used.
+
+ - Made `--ccache-skip` work for all options.
+
+ - EINTR is now handled correctly.
+
+
+Other
+~~~~~
+
+ - 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 details 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.
+
+
+ccache 3.0.1
+------------
+Release date: 2010-07-15
+
+Bug fixes
+~~~~~~~~~
+
+ - The statistics counter ``called for link'' is now correctly updated when
+ linking with a single object file.
+ - Fixed a problem with out-of-source builds.
+
+
+ccache 3.0
+----------
+Release date: 2010-06-20
+
+General
+~~~~~~~
+
+ - ccache is now licensed under the GNU General Public License (GPL) version
+ 3 or later.
+
+
+Upgrade notes
+~~~~~~~~~~~~~
+
+ - The way the hashes are calculated has changed, so you won't get cache
+ hits for compilation results stored by older ccache versions. Because of
+ this, you might as well clear the old cache directory with `ccache
+ --clear` if you want, unless you plan to keep using an older ccache
+ version.
+
+
+New features and improvements
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - ccache now has a ``direct mode'' where it computes a hash of the source
+ code (including all included files) and compiler options without
+ running the preprocessor. By not running the preprocessor, CPU usage is
+ reduced; the speed is somewhere between 1 and 5 times that of ccache
+ running in traditional mode, depending on the circumstances. The 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+.
+
+ - Support has been added for rewriting absolute paths to relative paths
+ when hashing, in order to increase cache hit rate when building the same
+ source code in different directories even when compiling with `-g` and
+ when using absolute include directory paths. This is done by setting the
+ `CCACHE_BASEDIR` environment variable to an absolute path that specifies
+ which paths to rewrite.
+
+ - Object files are now optionally stored compressed in the cache. The
+ runtime cost is negligible, and more files will fit in the ccache
+ directory and in the disk cache. Set `CCACHE_COMPRESS` to enable object
+ file compression. Note that you can't use compression in combination with
+ the hard link feature.
+
+ - 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.
+
+ - It is now possible to specify extra files whose contents should be
+ included in the hash sum by setting the `CCACHE_EXTRAFILES` option.
+
+ - Added support for Objective-C and Objective-C\+\+. The statistics counter
+ ``not a C/C++ file'' has been renamed to ``unsupported source language''.
+
+ - Added support for the `-x` compiler option.
+
+ - Added support for long command-line options.
+
+ - A `CACHEDIR.TAG` file is now created in the cache directory. See
+ <http://www.brynosaurus.com/cachedir/>.
+
+ - Messages printed to the debug log (specified by `CCACHE_LOGFILE`) have
+ been improved.
+
+ - You can relax some checks that ccache does in direct mode by setting
+ `CCACHE_SLOPPINESS`. See the manual for more information.
+
+ - `CCACHE_TEMPDIR` no longer needs to be on the same filesystem as
+ `CCACHE_DIR`.
+
+ - The default value of `CCACHE_TEMPDIR` has been changed to
+ `$CCACHE_DIR/tmp` to avoid cluttering the top directory.
+
+ - Temporary files that later will be moved into the cache are now created
+ in the cache directory they will end up in. This makes ccache more
+ friendly to Linux's directory layout.
+
+ - 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.
+
+ - 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.
+
+ - Added `installcheck` and `distcheck` make targets.
+
+ - Clarified cache size limit options' and cleanup semantics.
+
+ - Improved display of cache max size values.
+
+ - The following options are no longer hashed in the preprocessor mode:
+ `-imacros`, `-imultilib`, `-iprefix`, `-iquote`, `-isysroot`,
+ `-iwithprefix`, `-iwithprefixbefore`, `-nostdinc`, `-nostdinc++` and
+ `-U`.
+
+
+Bug fixes
+~~~~~~~~~
+
+ - Various portability improvements.
+
+ - Improved detection of home directory.
+
+ - User-defined `CPPFLAGS` and `LDFLAGS` are now respected in the Makefile.
+
+ - Fixed NFS issues.
+
+ - Computation of the hash sum has been improved to decrease the risk of
+ hash collisions. For instance, the compiler options `-X -Y` and `-X-Y`
+ previously contributed equally to the hash sum.
+
+ - Bail out on too hard compiler options `--coverage`, `-fprofile-arcs`,
+ `-fprofile-generate`, `-fprofile-use`, `-frepo`, `-ftest-coverage` and
+ `-save-temps`. Also bail out on `@file` style options.
+
+ - Errors when using multiple `-arch` compiler options are now noted as
+ ``unsupported compiler option''.
+
+ - `-MD`/`-MMD` options without `-MT`/`-MF` are now handled correctly.
+
+ - The `-finput-charset` option is now handled correctly.
+
+ - Added support for `-Wp,-MD` and `-Wp,-MMD` options.
+
+ - The compiler options `-Xassembler`, `-b`, `-G` and `-V` are now correctly
+ recognized as taking an argument.
+
+ - Debug information containing line numbers of predefined and command-line
+ macros (enabled with the compiler option `-g3`) will now be correct.
+
+ - 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.
+
+ - Fixed a bug in `x_realloc`.
+
+ - Freed memory is no longer referenced when compiling a `.i`/`.ii` file and
+ falling back to running the real compiler.
+
+ - The test suite is now immune to external values of the `CCACHE_*`
+ environment variables.
+
+ - Improved detection of recursive invocation.
+
+ - The ccache binary is now not unconditionally stripped when installing.
+
+ - Statistics counters are now correctly updated for -E option failures and
+ internal errors.