Supported platforms, compilers and languages

This page collects information on platforms (operating systems), compilers and source code languages that are supported by the latest released ccache version, currently 3.7.11. The information below aims to be correct, but new versions of e.g. an OS or a compiler may introduce new behavior that breaks some of ccache's assumptions.

If you want to contribute with new or updated information, please open an issue or maybe even create a pull request for the web site repository.

Support levels

Level Description
A Supported. Built and tested regularly and before new releases. High attention to bug reports.
B Probably works, may work or is partially supported. Not part of the test procedure before a new release. Bug fixing and testing largely depend on contributions from the community.
C Not supported.

Run-time support (i.e., using ccache)

Platforms

Level Platform Notes
A Linux (GNU/Linux) Regularly tested on Ubuntu 16.04 and 19.10.
A macOS (OS X) Regularly tested on the current macOS version supported by Travis CI.
B Other Unix-like platforms See also the ccache page on Repology.
B Windows with MSYS2
B Windows native Regularly built with Mingw-w64 but not regularly tested. However, it seems to work quite well in practice according to users.

Want to add or correct something? Open an issue.

Compilers

Level Compiler Notes
A GCC
A Clang Not clang-cl, though.
A NVCC (Nvidia CUDA compiler)
B Intel C++ compiler (ICC/ICPC)
B Other GCC-like compilers
C EDG-based, e.g. GHS (Green Hills) Will get B-level support in ccache 4.0. See issue #460.
C MSVC (Microsoft Visual C++) May get partial B-level support in ccache 4.0. See pull request #506.
C clang-cl (MSVC compatibility for Clang)

Want to add or correct something? Open an issue.

Source code languages

Level Language Notes
A Assembler (.s, .sx, .S) .sx and .S are assembler with a C preprocessor pass.
A C (.c)
A C header (.h) For precompilation.
A C preprocessed (.i)
A C++ (.cc, .cpp, .cp, .cxx, .c++, .C) Also uppercase variants of extensions.
A C++ header (.hh, .hpp, .hp, .hxx, .h++, .H) For precompilation. Also uppercase variants of extensions.
A C++ preprocessed (.ii)
A CUDA (.cu)
B Objective-C (.m)
B Objective-C preprocessed (.mi)
B Objective-C++ (.mm, .M)
B Objective-C++ preprocessed (.mii)
C CUDA header (.cuh)

Want to add or correct something? Open an issue.

Build-time support (i.e., building ccache itself)

Building ccache requires a C99-compliant compiler such as GCC or Clang.

Platforms

Level Platform Notes
A Linux (GNU/Linux) Regularly tested on Ubuntu 16.04 and 19.10.
A macOS (OS X) Regularly tested on the current macOS version supported by Travis CI.
B Other Unix-like platforms See also the ccache page on Repology.
B Windows with MSYS2
B Windows native with Mingw-w64 Regularly built.
C Windows native with MSVC (Microsoft Visual C++)

Want to add or correct something? Open an issue.

Compilers

Level Compiler Notes
A GCC GCC 4.8.5+
A Clang
B Other C++-11 compilers on Unix-like systems
C MSVC (Microsoft Visual C++)

Want to add or correct something? Open an issue.