[ccache] ccache version 3.6 has been released

Joel Rosdahl joel at rosdahl.net
Mon Jan 14 20:26:07 UTC 2019

ccache version 3.6 is now available.

Details may be read in the release notes:


Source archives are available here:


The source archives have been signed with my OpenPGP key (ID 5594ADB8,
fingerprint 5A93 9A71 A467 92CF 5786 6A51 996D DA07 5594 ADB8):


You can run “gpg --verify ccache-3.6.tar.*.asc” to check the source
archive integrity after download.


- ccache now has an opt-in “depend mode”. When enabled, ccache never
  executes the preprocessor, which results in much lower cache miss
  overhead at the expense of a lower potential cache hit rate. The
  depend mode is only possible to use when the compiler option “-MD” or
  “-MMD” is used.

- Added support for GCC's “-ffile-prefix-map” option. The
  “-fmacro-prefix-map” option is now also skipped from the hash.

- Added support for multiple “-fsanitize-blacklist” arguments.

- ccache now includes the environment variables “LANG”, “LC_ALL”,
  “LC_CTYPE” and “LC_MESSAGES” in the hash since they may affect
  localization of compiler warning messages. Set sloppiness to “locale”
  to opt out of this.

- Fixed a problem due to Clang overwriting the output file when
  compiling an assembler file.

- Clarified the manual to explain the reasoning behind the “file_macro”
  sloppiness setting in a better way.

- ccache now handles several levels of nonexistent directories when
  rewriting absolute paths to relative.

- A new sloppiness setting “clang_index_store” makes ccache skip the
  Clang compiler option “-index-store-path” and its argument when
  computing the manifest hash. This is useful if you use Xcode, which
  uses an index store path derived from the local project path. Note
  that the index store won't be updated correctly on cache hits if you
  enable this option.

- Rename sloppiness “no_system_headers” to “system_headers” for
  consistency with other options. “no_system_headers” can still be used
  as an (undocumented) alias.

  now supported correctly.

- The algorithm that scans for “__DATE_” and “__TIME__” tokens in the
  hashed source code now doesn't produce false positives for tokens
  where “__DATE__” or “__TIME__” is a substring.

-- Joel

More information about the ccache mailing list