Hi again,

are you guys interested in ccache support in FreeWRT? I've done a quick
hack (nothing i want you to see, so no patch this time ;)) and made some
builds....


Buildtimes measurements - freewrt 1.0 (default Wlan Router with PPPoE
package selection) with and without ccache:

without ccache:

real    14m4.082s
user    9m57.425s
sys     2m2.264s

first build with ccache, clean cache:

real    13m58.548s
user    10m14.414s
sys     2m20.233s

18.1 Mbytes cache size afterwards - 27 cache hits even on the first
build!

second build with ccache, everything cached:

real    6m30.800s
user    3m29.653s
sys     1m39.170s


Methinks it's very neat, especially for developers who rebuild quite
often. What are theese few extra MB for the cache compared to the time
you can save!
Next step would be ccache even for the toolchain.
If you want, i'll do it in a clean way with menuconfig integration and
stuff.
Btw, distcc support should be quite easy afterwards (easy as in setting
CCACHE_PREFIX to 'distcc').

BUT, i stumbled across one thing that might lead into a bigger Makefile
overwork, so i would like some advise what is _the_ way of doing it:

First i tried setting $(TARGET_CC):= ccache $(TARGET_CC) in mk/vars.mk.
This failed at some points because of lack of quotation marks.
So, i do $(TARGET_CC):= "ccache $(TARGET_CC)".
This works mostly, but breaks at points where "$(TARGET_CC)" is used in
the Makefile (e.g. fwcf). I just removed the quotations in the Makefiles
to make it build again.
Again it failed, this time at Makefiles where $(TARGET_CC) is used like
this: $(TARGET_CC) $(TARGET_CFLAGS) -o $(WRKBUILD)/jffs2root jffs2root.c
To hack around this, i used `echo $(TARGET_CC)` instead of $(TARGET_CC)
in theese Makefiles, and it builds fine now.

I tend to think in vars.mk it should be $(TARGET_CC):= ccache
$(TARGET_CC) (W/O quoation) and in the Makefiles "$(TARGET_CC)" (like in
fwcf) and $(TARGET_CC) for the last example (jffs2root).
It is used whithout quotes in over 100 places, but i fear automatic
substitution might not work (?!?!) because of the jffs2root-like-cases
(and maybe other places where quotes fail).
I don't know. You tell me =)

Sorry for the long and chaotic mail.

Happy Halloween ;)
ulmen

-- 
Lothar Gesslein <[EMAIL PROTECTED]>

PS: Is 1.0 going to be released tomorrow?

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
freewrt-developers mailing list
[email protected]
https://www.freewrt.org/lists/listinfo/freewrt-developers

Reply via email to