[Buildroot] ccache directory

Thomas De Schampheleire patrickdepinguin+buildroot at gmail.com
Tue Jul 26 07:38:13 UTC 2011


Hi,

On Sun, Jul 24, 2011 at 10:07 PM, Peter Korsgaard <jacmet at sunsite.dk> wrote:
>>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin+buildroot at gmail.com> writes:
>
> Hi,
>
>  >> It's furthermore not easy to handle a BR_CCACHE_DIR variable
>  >> containing shell variables (like $HOME) that should get expanded
>  >> before make handles it.
>
>  Thomas> What exactly is the problem here? Other configuration options
>  Thomas> can use shell variables like $(USER) without problem. The only
>  Thomas> thing to keep in mind is to write these variables in make
>  Thomas> syntax with parentheses, rather than in shell syntax with
>  Thomas> either curly braces or nothing.
>
> Indeed, that's the (potential) problem. People need to write the patch
> in make syntax rather than shell, which may or may not be a problem if
> they expect something similar to the CCACHE_DIR shell environment
> variable.
>
>  >> - Add a BR2_CCACHE_DIR but tell people that they cannot use $VAR in it
>
>  Thomas> How would you pass it to ccache then, given the restriction you
>  Thomas> mentioned above? On each compiler command-line?
>
>  Thomas> Or were you thinking of compiling this variable hardcoded in ccache
>  Thomas> using the existing patch?
>
> Hardcode it like it is now would be simplest option.

But has the disadvantage of not picking up changes in BR2_CCACHE_DIR
automatically; you have to force a rebuild of host-ccache.
Do you have any objection against passing the CCACHE_DIR on the CC /
CCX command-line? This does not interfere with gentargets, but does
allow for easy changing of the config option.

>
>
>  >> - Rework GENTARGETS to not use <pkg>_DIR, but several packages would
>  >>  need to be updated, and users might rely on it for local packages
>
>  Thomas> In itself I'm not sure whether this is a problem. With
>  Thomas> buildroot-2011.05, the board support also changed
>  Thomas> significantly, which required some rework in non-mainstream
>  Thomas> projects. Moreover, the change would be nothing more than a
>  Thomas> variable rename.
>
> True - It would still mean that we would have to fix up a number of
> packages though, E.G.:
>
> git grep '([A-Z0-9]*_DIR)' package/**/*.mk | \
>    egrep -v 'STAGING_|BUILD_|TARGET_|HOST_|DL_' | \
>    cut -f1 -d: | sort -u | wc -l
> 34
>
> --
> Bye, Peter Korsgaard
>


More information about the buildroot mailing list