All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.