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 <[email protected]>

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to