Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Aug 2012 18:03:35 +0300
From:      Kimmo Paasiala <kpaasial@gmail.com>
To:        Bryan Drewery <bdrewery@freebsd.org>
Cc:        ports@freebsd.org, RW <rwmaillists@googlemail.com>
Subject:   Re: [CFT] [bsd.port.mk] ports ccache build support
Message-ID:  <CA%2B7WWScaOqzwpmCHH9BqQiRobL%2BgnCd_m%2BWLqpKv6%2BJu6sHf_w@mail.gmail.com>
In-Reply-To: <501D34DF.2070205@FreeBSD.org>
References:  <501C7572.3020707@FreeBSD.org> <20120804141607.55249f62@gumby.homeunix.com> <501D34DF.2070205@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 4, 2012 at 5:42 PM, Bryan Drewery <bdrewery@freebsd.org> wrote:
> On 8/4/2012 8:16 AM, RW wrote:
>> On Fri, 03 Aug 2012 20:05:54 -0500
>> Bryan Drewery wrote:
>>
>>> Hi,
>>>
>>> ports/169579 is currently tracking this.
>>>
>>> This patch adds ccache support to ports (off by default). Other
>>> patches have changed $CC to use ccache, which results in having a
>>> space in $CC. This breaks many ports such as boost and libtool ports.
>>>
>>> This patch however utilizes the symlinks in
>>> /usr/local/libexec/ccache/{cc,gcc,etc...} by prefixing that directory
>>> into $PATH in the $MAKE_ENV.
>>
>> But if you've read the ccache documentation you probably already have
>> that directory in PATH anyway. Does this patch provide a significant
>> advantage?
>
> That requires needless customization. The purpose here is easy, safe and
> native support.
>
> The included ccache-howto-freebsd.txt with devel/ccache is quite long
> for something that is straight forward.
>
> I've seen many incorrect guides that suggest changing $CC. There's forum
> posts and sysutils/bsdadminscripts that do this. This leads to broken
> builds and needing to define which ports support ccache via $CC and
> which do not.
>
>>
>>
>>> The cache directory CCACHE_DIR defaults to /usr/obj/ccache
>>> ...
>>> To use ccache(1) from the command line to configure the size or view
>>> stats: CCACHE_DIR=/usr/obj/ccache ccache -s
>>
>> Having a default ccache directory in the makefile that's different from
>> the default documented in the ccache man page seems needlessly
>> confusing to me.
>
> The default being $HOME/.ccache makes even less sense for port building.
>
>>
>> And see hier(7) and section  25.7.6 of the handbook for
>> why /usr/obj/ccache is a poor choice.
>
> I think /usr/obj makes sense. There is /var/cache now, but /var is
> typically a smaller partition.
>
> Do you have a better suggestion?
>

Based on what I've read on the subject I'd say it's better to leave
/usr/obj to just for stuff from /usr/src. I vote for /var/cache/ccache
as the default ccache directory.

-Kimmo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7WWScaOqzwpmCHH9BqQiRobL%2BgnCd_m%2BWLqpKv6%2BJu6sHf_w>