aboutsummaryrefslogtreecommitdiff
path: root/docs/manual/ccache-support.txt
blob: fe06a01fafd3ead26f41c7d6df119cb97011ed82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:

[[ccache]]
Using +ccache+ in Buildroot
~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://ccache.samba.org[ccache] is a compiler cache. It stores the
object files resulting from each compilation process, and is able to
skip future compilation of the same source file (with same compiler
and same arguments) by using the pre-existing object files. When doing
almost identical builds from scratch a number of times, it can nicely
speed up the build process.

+ccache+ support is integrated in Buildroot. You just have to enable
+Enable compiler cache+ in +Build options+. This will automatically
build +ccache+ and use it for every host and target compilation.

The cache is located in +$HOME/.buildroot-ccache+. It is stored
outside of Buildroot output directory so that it can be shared by
separate Buildroot builds. If you want to get rid of the cache, simply
remove this directory.

You can get statistics on the cache (its size, number of hits,
misses, etc.) by running +make ccache-stats+.

The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable
provide more generic access to the ccache. For example

-----------------
# set cache limit size
make CCACHE_OPTIONS="--max-size=5G" ccache-options

# zero statistics counters
make CCACHE_OPTIONS="--zero-stats" ccache-options
-----------------