[ccache] ccache version 3.7 has been released

2019-04-23 Thread Joel Rosdahl via ccache
ccache version 3.7 is now available.

Details may be read in the release notes:

http://ccache.dev/releasenotes.html#_ccache_3_7

Source archives are available here:

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.bz2
https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.gz
https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.xz

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


https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.bz2.asc

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.gz.asc

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.xz.asc

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

Note: New release files will no longer be uploaded to
https://www.samba.org/ftp/ccache, but old releases will remain there.

Changes:

- 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.

- The GCC variables “DEPENDENCIES_OUTPUT” and “SUNPRO_DEPENDENCIES” are
  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.

Contributors (in alphabetical order) to this release:

- Anders F Björklund
- Doug Anderson
- Joel Rosdahl
- Pavol Sakac
- Robert Yang

Thanks!

-- Joel

___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


[ccache] ccache version 3.7 has been released (correction of changelog)

2019-04-23 Thread Joel Rosdahl via ccache
[The previous mail contained changelog entries for ccache 3.6. Sorry
about that, I've rewritten my scripts for doing releases and this one
slipped through.]

ccache version 3.7 is now available.

Source archives:

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.bz2
https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.gz
https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.xz

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


https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.bz2.asc

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.gz.asc

https://github.com/ccache/ccache/releases/download/v3.7/ccache-3.7.tar.xz.asc

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

Note: New release files will no longer be uploaded to
https://www.samba.org/ftp/ccache, but old releases will remain there.

Changes:

- Fixed crash when the debug mode is enabled and the output file is in a
  non-writable directory, e.g. when the output file is `/dev/null`.

- Fixed an issue when printing very large log messages to the debug log.

- Fixed bugs related to support for `-gsplit-dwarf`. Previously ccache could
  produce an incorrect link to the `.dwo` file in the `.o` file.

- Compilations with /dev/null as the input file are now cached.

- ccache has learned how to contruct the object filename if no `-o` option is
  given and the source filename does not include a `.` or ends with a `.`.

- Fixed a temporary file leak when the depend mode is enabled and the compiler
  produces standard error output.

- Fixed a bug in the depend mode where a manifest hash only could be associated
  with one set of header dependencies.

- Manifest files did not get marked as used on direct cache hits, so the LRU
  cache cleanup would incorrectly remove them eventually. This has been fixed.

- The rewriting of absolute paths into relative paths in the dependency file
  has been enabled in the depend mode as well.

- ccache now ignores unknown keys in configuration files for forward
  compatibility.

- Rearranged command-line options into sections in the help text.

- Documented the previously undocumented `--dump-manifest` and `--hash-file`
  options (only useful for debugging ccache itself).

- Added missing documentation for the command-line option `-k/--get-config`
  added in ccache 3.5.

- Renamed the `--print-config` command to `--show-config`.

- Added a new `--print-stats` command that prints statistics counters in
  machine-parsable (tab-separated) format.

- ccache no longer creates a missing output directory, thus mimicking the
  compiler behavior for `-o out/obj.o` when “out” doesn’t exist.

- `-fdebug-prefix-map=ARG`, `-ffile-prefix-map=ARG` and
  `-fmacro-prefix-map=ARG` are now included in the hash, but only the part
  before “ARG”. This fixes a bug where compiler feature detection of said flags
  would not work correctly with ccache.

- Bail out on too hard compiler option `-gtoggle`.

- Bail out on too hard Clang options `--analyze` and `-analyze`.

- Improved debug logging of file hashes in depend mode.

- Improved handling of various `-g*` options. In particular, ccache now
  understands that `-g0` cancels out previous `-g* options`.

- Worked around a problem with Automake related to `.d` files when using the
  hard link mode.

- Added opt-in (at configure time) support for enabling trace logs for
  profiling ccache itself. See `doc/DEVELOPER.md` in the code tree for more
  information

- Removed support for Fortran 77 again. Some Fortran support was added in
  ccache 3.3, but the implementation did not work when Fortran modules are
  involved.

Contributors (in alphabetical order) to this release:

- Anders F Björklund
- Doug Anderson
- Joel Rosdahl
- Pavol Sakac
- Robert Yang

Thanks!

-- Joel

___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache