cachecc1: a gcc cache
cachecc1 is a gcc cache.
It can be compared with the well known
It has some unique features :
It works on GNU/Linux and on Solaris. It is released under the
- it uses a LD_PRELOADed shared object to catch invocations to cc1,
cc1plus and as.
- consequently, it transparently supports all build methods.
- it can cache gcc bootstraps.
- it can be combined with distcc to
transparently distribute compilations.
- 2004-03-28: cachecc1-0.3:
- Arch repository available at
- A MD4 based hash is used. It is slighly slower but a lot more secure than the previous hash.
- cachecc1 and followcc1.so have been merged into cachecc1.so.
This recovers the speed loss caused by the hash change.
- Can collaborate with distcc (cached and distributed
bootstraps of gcc work well with recent gcc versions).
- Most environnement variables have been renamed (for instance, CACHECC1_DIR replaces
- 2004-01-31: Project moved to http://sourceforge.net/projects/cachecc1
cachecc1-0.2: Solaris port.
cachecc1-0.1: first public release.
- Get it from
http://sourceforge.net/project/showfiles.php?group_id=91955 and extract it.
- Or, with tla :
- tla register-archive http://cachecc1.sourceforge.net/arch
- tla get firstname.lastname@example.org/cachecc1--mainline
- Run make in the source directory.
- Copy the cachecc1.so binary in a directory of your choice.
- If you plan to use cachecc1 with distcc
You only need to set two environment variables :
As an example, these lines can be found in my .zlogin :
- CACHECC1_DIR: location of the cache
- LD_PRELOAD : path to the cachecc1.so shared object
||../binutils-2.14/configure --enable-targets=all; time make
||../gcc-2.95.3/configure --enable-languages=c,c++; time make bootstrap
||../gcc-3.3.1/configure --enable-languages=c,c++; time make bootstrap
||yes '' | make oldconfig; make dep; time make
||time make defconfig all
||time make World
A mailing list is available at
Send comments to