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 4.10.2. 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 20.04 and 22.04.
A macOS (OS X) Regularly tested on macOS 11 and 12.
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 See separate entry for clang-cl below.
A NVCC (Nvidia CUDA compiler)
B Intel C++ compiler (ICC/ICPC)
B Other GCC-like compilers
B Some EDG-based compilers, e.g. GHS (Green Hills)
B clang-cl (MSVC compatibility for Clang)
B MSVC (Microsoft Visual C++)
C ISPC (Intel Implicit SPMD Program Compiler)
C TASKING VX-toolset for TriCore (ctc, cctc)

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)

Platforms

Level Platform Notes
A Linux (GNU/Linux) Regularly tested on Ubuntu 20.04 and 22.04.
A macOS (OS X) Regularly tested on macOS 11 and 12.
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 8+
A Clang Clang 9+
B Other C++17 compilers on Unix-like systems
C MSVC (Microsoft Visual C++)

Want to add or correct something? Open an issue.