ccache is a software development tool that caches the output of C/C++ compilation so that the next time, the same compilation can be avoided and the results can be taken from the cache. This can greatly speed up recompiling time.
The following is a step by step guide to how to enable and use ccache on FreeBSD 8.2.
Install ccache by running the following command:
1 |
[[email protected] ~]#make install clean -C /usr/ports/devel/ccache |
Update /etc/make.conf by adding the following lines:
#CCACHE
.if !defined(NO_CCACHE)
CC= /usr/local/libexec/ccache/world/cc
CCX= /usr/local/libexec/ccache/world/c++
.endif
.if ${.CURDIR:M*/ports/devel/ccache}
NO_CCACHE=yes
.endif
Basically we’ve started by installing ccache and proceeded by editing /etc/make.conf as to enable ccache on builds.
Now we need to update the environment.
If you are using csh/tcsh shell add the following to /root/.cshrc:
setenv PATH /usr/local/libexec/ccache:$PATH
setenv CCACHE_PATH /usr/bin:/usr/local/bin
setenv CCACHE_DIR /var/tmp/ccache
setenv CCACHE_LOGFILE /var/log/ccache.log
If you are using zsh add the following to your /root/.zshrc file:
export PATH=/usr/local/libexec/ccache:$PATH
export CCACHE_PATH=/usr/bin:/usr/local/bin
export CCACHE_DIR=/var/tmp/ccache
export CCACHE_LOGFILE=/var/log/ccache.log
If you are using bash add the following to your /root/.profile file:
export PATH=/usr/local/libexec/ccache:$PATH
export CCACHE_PATH=/usr/bin:/usr/local/bin
export CCACHE_DIR=/var/tmp/ccache
export CCACHE_LOGFILE=/var/log/ccache.log
After updating the dotfiles we update the environment. Users of csh/tcsh shells can update by:
1 |
/root/.cshrc |
Users of zsh can update the environment by running the following command:
1 |
/root/.zshrc |
Anyone using bash can update the environment by running the following command:
1 |
/root/.profile |
ccache is installed and the environment is updated. Your next build will be performed with ccache enabled.
To display statistics summary:
1 |
|
To zero statistics:
1 |
|
To set ccache temp size (for example 512MB):
1 |
local /bin/ccache -M 512m |
To check out the help file for a list of ccache options:
1 |
|
If you come across a port that fails to build, disable ccache and try again:
1 |
NO_CCACHE= yes install clean |
You can find more information regarding ccache through:
1 |
ccache |
1 |
|
1 |
/usr/ local /share/doc/ccache/ccache-howto-freebsd.txt |
1 |
local /share/doc/ccache/index.html |