From: Thomas De Schampheleire <patrickdepinguin@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] ccache: expose control interface via 'make ccache-options'
Date: Thu, 10 Oct 2013 09:59:46 +0200 [thread overview]
Message-ID: <CAAXf6LWg8YGG-yv3dvZjqswagBOMV8gmT1XsWz4KOygEbFUtGw@mail.gmail.com> (raw)
In-Reply-To: <1381339099-3666-1-git-send-email-tjlee@ambarella.com>
Hi Tzu-Jung,
On Wed, Oct 9, 2013 at 7:18 PM, Tzu-Jung Lee <roylee17@gmail.com> wrote:
> usage:
> # set cache limit size
> make CCACHE_OPTIONS="--max-size=5G" ccache-options
>
> # zero statistics counters
> make CCACHE_OPTIONS="--zero-stats" ccache-options
>
> Signed-off-by: Tzu-Jung Lee <tjlee@ambarella.com>
> ---
> Fix a typo of manual in v2
>
> docs/manual/ccache-support.txt | 11 +++++++++++
> package/ccache/ccache.mk | 5 +++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/docs/manual/ccache-support.txt b/docs/manual/ccache-support.txt
> index 4969180..fe06a01 100644
> --- a/docs/manual/ccache-support.txt
> +++ b/docs/manual/ccache-support.txt
> @@ -23,3 +23,14 @@ remove this directory.
>
> You can get statistics on the cache (its size, number of hits,
> misses, etc.) by running +make ccache-stats+.
> +
> +The make target +ccache-options+ and the +CCACHE_OPTIONS+ variable
> +provide more generic access to the ccache. For example
> +
> +-----------------
> +# set cache limit size
> +make CCACHE_OPTIONS="--max-size=5G" ccache-options
> +
> +# zero statistics counters
> +make CCACHE_OPTIONS="--zero-stats" ccache-options
> +-----------------
> diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk
> index c5e9385..663a959 100644
> --- a/package/ccache/ccache.mk
> +++ b/package/ccache/ccache.mk
> @@ -45,3 +45,8 @@ ifeq ($(BR2_CCACHE),y)
> ccache-stats: host-ccache
> $(Q)$(CCACHE) -s
> endif
> +
> +ifeq ($(BR2_CCACHE),y)
> +ccache-options: host-ccache
> + $(Q)$(CCACHE) $(CCACHE_OPTIONS)
> +endif
I think this 'ifeq' block can be merged with the previous one
containing ccache-stats.
Also, while testing I noticed the following: if you do not specify
CCACHE_OPTIONS, ccache gives its help message, but it is unclear to
the user that he should put those options in CCACHE_OPTIONS. Assume
someone knows there is a make target ccache-options but did not read
the manual.
Therefore, I would suggest to add a check inside the ccache-options
recipe for a non-empty CCACHE_OPTIONS and give a warning message.
Something like:
diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk
--- a/package/ccache/ccache.mk
+++ b/package/ccache/ccache.mk
@@ -48,5 +48,11 @@ endif
ifeq ($(BR2_CCACHE),y)
ccache-options: host-ccache
+ifeq ($(CCACHE_OPTIONS),)
+ $(Q)echo "Usage: make ccache-options CCACHE_OPTIONS=\"opts\""
+ $(Q)echo "where 'opts' corresponds to one or more valid ccache
options" \
+ "(see ccache help text below)"
+ $(Q)echo
+endif
$(Q)$(CCACHE) $(CCACHE_OPTIONS)
endif
This makes the output:
$ make ccache-options
Usage: make ccache-options CCACHE_OPTIONS="opts"
where 'opts' corresponds to one or more valid ccache options (see
ccache help text below)
Usage:
ccache [options]
ccache compiler [compiler options]
compiler [compiler options] (via symbolic link)
Options:
-c, --cleanup delete old files and recalculate size counters
(normally not needed as this is done automatically)
-C, --clear clear the cache completely
-F, --max-files=N set maximum number of files in cache to N (use 0 for
no limit)
-M, --max-size=SIZE set maximum size of cache to SIZE (use 0 for no
limit; available suffixes: G, M and K; default
suffix: G)
-s, --show-stats show statistics summary
-z, --zero-stats zero statistics counters
-h, --help print this help text
-V, --version print version and copyright information
See also <http://ccache.samba.org>.
make: *** [ccache-options] Error 1
Best regards,
Thomas
next prev parent reply other threads:[~2013-10-10 7:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-18 3:50 [Buildroot] [PATCH 1/1] ccache: expose control interface via 'make ccache-options' Tzu-Jung Lee
2012-06-19 12:51 ` Tzu-Jung Lee
[not found] ` <CAEvN+1jCAvFYsOkbv4Rf4g7YqZJe4Ty9cwpFMiAUTTAvh7mvQg@mail.gmail.com>
2013-10-07 22:09 ` Tzu-Jung Lee
2013-10-08 6:46 ` Arnout Vandecappelle
2013-10-08 21:31 ` [Buildroot] [PATCH v2] " Tzu-Jung Lee
2013-10-09 6:55 ` Thomas De Schampheleire
2013-10-09 17:18 ` [Buildroot] [PATCH v3] " Tzu-Jung Lee
2013-10-10 7:12 ` Thomas Petazzoni
2013-10-10 7:59 ` Thomas De Schampheleire [this message]
2013-10-10 17:50 ` [Buildroot] [PATCH v4] " Tzu-Jung Lee
2013-10-10 19:45 ` Thomas De Schampheleire
2013-10-10 19:51 ` Tzu-Jung Lee
2013-10-10 20:57 ` Thomas Petazzoni
2013-10-10 21:01 ` Tzu-Jung Lee
2013-10-10 21:05 ` Thomas Petazzoni
2013-10-11 4:52 ` Thomas De Schampheleire
2013-10-27 9:34 ` Peter Korsgaard
2013-10-08 7:11 ` [Buildroot] [PATCH 1/1] " Thomas Petazzoni
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=CAAXf6LWg8YGG-yv3dvZjqswagBOMV8gmT1XsWz4KOygEbFUtGw@mail.gmail.com \
--to=patrickdepinguin@gmail.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.