From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [pull request v2] Pull request for branch for-2011.02/fix-ccache-support
Date: Tue, 7 Dec 2010 00:14:57 +0100 [thread overview]
Message-ID: <20101207001457.56309418@surf> (raw)
In-Reply-To: <874oarx2r5.fsf@macbook.be.48ers.dk>
Hello,
On Sun, 05 Dec 2010 23:40:14 +0100
Peter Korsgaard <jacmet@uclibc.org> wrote:
> Thomas> The ccache cache is kept in ~/.buildroot-ccache/, so that it can be
> Thomas> shared between different builds.
>
> Why here and not in the default ~/.ccache? Is the ~/.ccache directory
> content ccache-version dependent?
I don't know how ccache-version dependent are the contents of the cache
directory. In the previous ccache integration, the cache was inside
Buildroot build directory (which I thought was stupid since you then
couldn't share the cache between different Buildroot builds), but I
kept the idea of having a Buildroot-specific location for the cache.
I don't have strong opinion/arguments on that, so if you say we should
use the default cache location, I'll just do it.
> Is that working everywhere?
Everywhere I don't know, I obviously haven't compiled all our packages
with ccache support enabled.
> I remember we had some problems back when we added --sysroot= to TARGET_CC.
> The qt package in particular is stripping the --sysroot argument because
> of this.
I just tried Qt, and it built fine. It does not use ccache for the
parts compiled for the host (since we don't tell Qt about $(HOSTCXX)),
but it definitely uses the cache for parts compiled for the target.
Here are the results for a Busybox + Qt build, with a CodeSourcery glibc
ARM external toolchain.
Cold cache
==========
real 7m41.319s
user 37m53.620s
sys 1m31.660s
Hot cache
=========
real 3m4.738s
user 5m34.480s
sys 0m36.160s
And in the hot cache case, a quite significant time is spent rebuilding
the host tools, as ccache is not used there. So we could probably speed
this up a bit further.
I am not strongly advocating the usage of the "ccache /path/to/gcc"
solution compared to the symbolic link solutions, but if the first
solution works, I find it better because: 1) it's nicer and 2) it's
easier to implement with external toolchains.
Regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2010-12-06 23:14 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 19:16 [Buildroot] [pull request v2] Pull request for branch for-2011.02/fix-ccache-support Thomas Petazzoni
2010-12-03 19:16 ` [Buildroot] [PATCH 1/1] ccache: rework ccache management Thomas Petazzoni
2010-12-05 22:47 ` Peter Korsgaard
2010-12-05 22:40 ` [Buildroot] [pull request v2] Pull request for branch for-2011.02/fix-ccache-support Peter Korsgaard
2010-12-06 9:44 ` Bjørn Forsman
2010-12-06 15:08 ` Peter Korsgaard
2010-12-06 19:24 ` Thomas Petazzoni
2010-12-06 19:22 ` Thomas Petazzoni
2010-12-07 0:04 ` Bjørn Forsman
2010-12-07 19:53 ` Thomas Petazzoni
2010-12-08 10:24 ` Bjørn Forsman
2010-12-06 23:14 ` Thomas Petazzoni [this message]
2010-12-07 12:26 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101207001457.56309418@surf \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.