[ccache] Ccache version 4.1 has been released

Joel Rosdahl joel at rosdahl.net
Sun Nov 22 20:11:10 UTC 2020


Ccache version 4.1 is now available. Release archives can be found here:

    https://ccache.dev/download.html

New features:

  - Symlinks are now followed when guessing the compiler. This makes ccache
    able to guess compiler type “GCC” for a common symlink chain like this:
    “/usr/bin/cc” → “/etc/alternatives/cc” → “/usr/bin/gcc” → “gcc-9” →
    “x86_64-linux-gnu-gcc-9”.

  - Added a new “compiler_type” (“CCACHE_COMPILERTYPE”) configuration option
    that allows for overriding the guessed compiler type.

  - Added support for caching compilations with “-fsyntax-only”.

  - Added a command line option “--config-path”, which specifies the
    configuration file to operate on. It can be used instead of setting
    “CCACHE_CONFIGPATH” temporarily.

Bug fixes:

  - The original color diagnostics options are now retained when forcing
    colored output. This fixes a bug where feature detection of the
    “-fcolor-diagnostics” option would succeed when run via ccache even though
    the actual compiler doesn’t support it (e.g. GCC <4.9).

  - Fixed a bug related to umask when using the “umask” (“CCACHE_UMASK”)
    configuration option.

  - Allow “ccache ccache compiler ...” (repeated “ccache”) again.

  - Fixed parsing of dependency file in the “depend mode” so that filenames
    with space or other special characters are handled correctly.

  - Fixed rewriting of the dependency file content when the object filename
    includes space or other special characters.

  - Fixed runtime detection of AVX2 support, not relying on the sometimes
    broken “__builtin_cpu_support” routine.

  - Added missing parameters to a log call, thus avoiding a crash when it is
    found out at runtime that file cloning is unsupported by the OS.

Portability and build fixes:

  - The ccache binary is now linked with “libatomic” if needed. This fixes
    build problems with GCC on ARM and PowerPC.

  - Fixed build of BLAKE3 code with Clang 3.4 and 3.5.

  - Fixed “use of undeclared identifier 'CLONE_NOOWNERCOPY'” build error on
    macOS 10.12.

  - Fixed build problems related to missing AVX2 and AVX512 support on older
    macOS versions.

  - Fixed static linkage with libgcc and libstdc++ for MinGW and made it
    optional.

  - Fixed conditional compilation of “robust mutex” code for the inode cache
    routines.

  - Fixed badly named man page filename (“Ccache.1” instead of “ccache.1”).

  - Disabled some tests on ancient Clang versions.

Other improvements and fixes:

  - The man page is now built by default if the required tools are available.

  - Use CMake “A2X_EXE” variable instead of hardcoded “a2x”.

  - Improved build errors when building ccache with very old compiler versions.

  - Fall back to version “unknown” when Git is not installed.

  - Documented the relationship between “CCACHE_DIR” and “-d/--directory”.

  - Fixed incorrect reference and bad markup in the manual.

Contributors (in alphabetical order) to this release:

  - Alexander Lanin
  - Erik Flodin
  - Joel Rosdahl
  - Orgad Shaneh
  - Yoshimasa Niwa

Thanks!

-- Joel



More information about the ccache mailing list