Am 25.03.2010 18:02, schrieb Patrick Georgi:
Hi,
most of the tree was already ccache aware, with one exception: romcc. This hurt, as on the non-CAR boards, this is a large non-parallelizable part of the total build time.
This patch changes romcc to:
- accept -c and -S (and ignores them as that's already the only mode it
knows)
- send -E output (preprocessor only) to stdout except if a filename is
given (by testing if it's set to the current default of auto.inc)
With these, ccache3.0pre0 (the version I tried) is capable of cache romcc output.
The Makefile changes in this patch make use of that, if "ccache" is found in $PATH (necessary as we use various paths for our romcc), and runs ccache $(obj)/romcc, using the "content" compiler version verification (which hashes the compiler executable) for romcc.
Thus when romcc is changed, ccache doesn't use cached files but requests new builds.
On my test system, abuild of a romcc board (thomson/ip1000) goes down from 9 to 3 seconds when using 4 parallel build jobs.
Signed-off-by: Patrick Georgi patrick.georgi@coresystems.de
This time with patch