./devel/ccache, Cache for C/C++ compilers

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.5, Package name: ccache-3.5, Maintainer: pkgsrc-users

ccache is a compiler cache. It acts as a caching pre-processor
to C/C++ compilers, using the -E compiler switch and a hash to
detect when a compilation can be satisfied from cache. This
often results in a 5 to 10 times speedup in common compilations.

Required to build:

Master sites:

SHA1: 9fa52ee325b2fd142190cd59f797433ffbe01a11
RMD160: 0d085e63444753661593acb39b4097e3477dd3cd
Filesize: 465.41 KB

Version history: (Expand)

CVS history: (Expand)

   2018-10-30 13:03:52 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 3.5

ccache 3.5

Added a boolean debug (CCACHE_DEBUG) configuration option. When enabled, ccache \ 
will create per-object debug files that are helpful e.g. when debugging \ 
unexpected cache misses. See also the new “Cache debugging” section in the \ 

Renamed CCACHE_CC to CCACHE_COMPILER (keeping the former as a deprecated alias).

Added a new command-line option -k/--get-config that prints the value of a \ 
config key.

It is now possible to let ccache hash a precomputed checksum file instead of the \ 
full content of a precompiled header. This can save time for large precompiled \ 
headers. Note that the build system needs to keep the checksum file in sync with \ 
the precompiled header for this to work.

Improved performance substantially when using hash_dir = false on platforms like \ 
macOS where getcwd() is slow.

Added “stats updated” timestamp in ccache -s output. This can be useful if \ 
you wonder whether ccache actually was used for your last build.

Renamed “stats zero time” to “stats zeroed” and documented it. The \ 
counter is also now only present in ccache -s output when ccache -z actually has \ 
been called.

The content of the -fsanitize-blacklist file is now included in the hash, so \ 
updates to the file will now correctly result in separate cache entries.

It’s now possible to opt out of building and installing man pages when running \ 
make install in the source repository.

If the compiler type can’t be detected (e.g. if it is named cc), use safer \ 
defaults that won’t trip up Clang.

Made the ccache test suite work on FreeBSD.

Added file_stat_matches_ctime option to disable ctime check if file_stat_matches \ 
is enabled.

Made “./configure --without-bundled-zlib” do what’s intended.
   2018-09-05 15:22:21 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 3.4.3

ccache 3.4.3

Bug fixes
Fixed a race condition when creating the initial config file in the cache directory.
Bail out on too hard clang option -MJ.
Bail out on too hard option -save-temps=obj.
Handle separate parameter to clang option -target correctly.
Upgraded bundled zlib to version 1.2.11.
   2018-04-06 10:04:53 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccached: updated to 3.4.2

ccache 3.4.2

Bug fixes:

The cleanup algorithm has been fixed to not misbehave when files are removed by \ 
another process while the cleanup process is running. Previously, too many files \ 
could be removed from the cache if multiple cleanup processes were triggered at \ 
the same time, in extreme cases trimming the cache to a much smaller size than \ 
the configured limits.

Correctly hash preprocessed headers located in a “.gch directory”. \ 
Previously, ccache would not pick up changes to such precompiled headers, \ 
risking false positive cache hits.

Fixed build failure when using the bundled zlib sources.

ccache 3.3.5 added a workaround for not triggering Clang errors when a \ 
precompiled header’s dependency has an updated timestamp (but identical \ 
content). That workaround is now only applied when the compiler is Clang.

Made it possible to perform out-of-source builds in dev mode again.
   2018-02-12 09:32:11 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 3.4.1

ccache 3.4.1
Bug fixes
Fixed printing of version number in ccache --version.

ccache 3.4
New features and enhancements
The compiler option form --sysroot arg is now handled like the documented \ 
--sysroot=arg form.
Added support for caching .su files generated by GCC flag -fstack-usage.
ccache should now work with distcc’s “pump” wrapper.
The optional unifier is no longer disabled when the direct mode is enabled.
Added support for nvcc compiler options --compiler-bindir/-ccbin, \ 
--output-directory/-odir and --libdevice-directory/-ldir.
Boolean environment variable settings no longer accept the following \ 
(case-insensitive) values: 0, false, disable and no. All other values are \ 
accepted and taken to mean “true”. This is to stop users from setting e.g. \ 
CCACHE_DISABLE=0 and then expect the cache to be used.
Improved support for run_second_cpp = false: If combined with passing \ 
-fdirectives-only (GCC) or frewrite-includes (Clang) to the compiler, \ 
diagnostics warnings and similar will be correct.
An implicit -MQ is now passed to the preprocessor only if the object file \ 
extension is non-standard. This should make it easier to use EDG-based compilers \ 
(e.g. GHS) which don’t understand -MQ.
ccache now treats an unreadable configuration file just like a missing \ 
configuration file.
Documented more pitfalls with enabling hard_links (CCACHE_HARDLINK).
Documented caveats related to colored warnings from compilers.

Bug fixes
File size and number counters are now updated correctly when files are \ 
overwritten in the cache, e.g. when using CCACHE_RECACHE.
run_second_cpp is now forced for nvcc.
Fixed how the nvcc options -optf and -odir are handled.
   2018-01-30 06:43:19 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 3.3.6

ccache 3.3.6

New features and improvements
- Improved instructions on how to get cache hits between different working

Bug fixes
- Fixed regression in ccache 3.3.5 related to the `UNCACHED_ERR_FD` feature.
   2018-01-15 09:07:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
ccache: updated to 3.3.5

ccache 3.3.5

New features and improvements
* Documented how automatic cache cleanup works.

Bug fixes
* 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 \ 
* 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 \ 
* 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.
   2017-02-26 11:17:00 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
ccache 3.3.4:

New features and improvements:
* Documented the different cache statistics counters.

Bug fixes:
* Fixed a regression in ccache 3.3 related to potentially bad content of \ 
dependency files when compiling identical source code but with different source \ 
paths. This was only partially fixed in 3.3.2 and reverts the new “Names of \ 
included files are no longer included in the hash of the compiler’s \ 
preprocessed output” feature in 3.3.
* Corrected statistics counter for -optf/--options-file failure.
* Fixed undefined behavior warnings in ccache found by -fsanitize=undefined.
   2016-10-31 11:54:30 by Adam Ciarcinski | Files touched by this commit (2)
Log message:
Changes 3.3.3:
* ccache now detects usage of .incbin assembler directives in the source code \ 
and avoids caching such compilations.