Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Robert Yang <liezhi.yang@windriver.com>
To: "Purdie, Richard" <richard.purdie@intel.com>
Cc: "Wold, Saul" <saul.wold@intel.com>,
	wenzong fan <wenzong.fan@windriver.com>,
	openembedded-core@lists.openembedded.org
Subject: Re: The design document for ccache-native
Date: Fri, 10 Jun 2011 13:48:18 +0800	[thread overview]
Message-ID: <4DF1B022.2010506@windriver.com> (raw)
In-Reply-To: <4DF18EF7.8000207@windriver.com>


On 06/10/2011 11:26 AM, wenzong fan wrote:
>
>
> -------- Original Message --------
>
> On Thu, 2011-06-09 at 15:40 -0700, Saul Wold wrote:
>> On 06/02/2011 08:11 PM, wenzong fan wrote:
>> > Hi Folks,
>> >
>> > Please help me to review the design document for ccache-native, and
>> > I also have two questions about it, any answers or suggestions are
>> > appreciated.
>> >
>> > * Feature name: ccache-native
>> > Priority: P3; M2
>> > Owner: Wenzong Fan
>> > Summary: Integrate ccache-native to yocto
>> >
>> > * Description:
>> > Bitbake supports the 'CCACHE Mechanism', but 'ccache' hasn't been
>> > included by poky/yocto, just add it as a native tool.
>> >
>> > * Usage:
>> > Build ccache as a native tool by default and enable it for speeding
>> > target packages build.
>> >
>> > * Implementation:
>> > 1) Copy bb file from OE upstream to:
>> > meta/recipes-devtools/ccache/
>> >
>> > 2) Update bb file to get the latest ccache_3.1.5 and split the single
>> > bb file to:
>> > 'ccache_3.1.5.bb', 'ccache.inc'
>> >
>> > 3) Enable ccache in the native tools building.
>> >
>> You will need to have it be a dependency pretty early on in the build.
>> Additionally, this is a bit a new part to this task, we want to have the
>> default CCACHE_DIR for the build default to a directory in TMPDIR
>> instead of the user's home directory. This will mean setting an
>> environment variable somewhere early also.
>
> There is a little more detail on:
>
> https://wiki.yoctoproject.org/wiki/Yocto_1.1_Schedule
>
> Specifically, "c) Set CCACHE on a per recipe basis. need to figure out
> whether ccache data can be shared and under what circumstances."
>
> so something like adding:
>
> export CCACHE_DIR = "${TMPDIR}/ccache/${TARGET_SYS}/${PN}"
>

I think that set CCACHE_DIR on per recipe basis would degrade hit efficiency,
the following ccache data can be shared if they they use the same CCACHE_DIR,
but if we set CACHE_DIR on a per recipe basis, then they can't be shared:

1) Most pkg's configure will run "gcc foo.c" for checking the C  compiler,
    these compiling are the same between different pkgs at most time.

2) Some recipes' compiling are similar, for example: gcc-cross,
    gcc-corss-initial and gcc-cross-intermediate.

I think that:

export CCACHE_DIR = "${TMPDIR}/ccache/${TARGET_SYS}/"

would be better.

// Robert

> to bitbake.conf with a bit more thought into working out the right
> components to add to the variable.
>
> Cheers,
>
> Richard
>
>
>
>



       reply	other threads:[~2011-06-10  7:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4DF18EF7.8000207@windriver.com>
2011-06-10  5:48 ` Robert Yang [this message]
2011-06-10 13:09   ` The design document for ccache-native Mike Westerhof
2011-06-10 13:21     ` Mike Westerhof
2011-06-10 13:25     ` Phil Blundell

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=4DF1B022.2010506@windriver.com \
    --to=liezhi.yang@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@intel.com \
    --cc=saul.wold@intel.com \
    --cc=wenzong.fan@windriver.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox