Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Nov 2005 08:42:57 -0500
From:      Nicolas Blais <nb_root@videotron.ca>
To:        Jens Schweikhardt <schweikh@schweikhardt.net>
Cc:        Steve Hodgson <steve@acidy.com>, Maxim.Sobolev@portaone.com, michael johnson <buhnux@gmail.com>, freebsd-current@freebsd.org
Subject:   Re: Using ccache for build{world, 	kernel}
Message-ID:  <200511190843.03660.nb_root@videotron.ca>
In-Reply-To: <20051116175853.GA899@schweikhardt.net>
References:  <200511141702.45491.nb_root@videotron.ca> <200511151942.04277.nb_root@videotron.ca> <20051116175853.GA899@schweikhardt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart2354365.1k5VlyUzhj
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

> The ccache port is not broken. Rather, the assumption that any port can
> deal with CC=3D"foo bar" is wrong. Some ports choke because they've never
> seen a CC like that (libtool15 comes to mind), some may choke because
> their build can't deal with a space in a program name (shell word splitti=
ng
> at the wrong time or not at all is a likely culprit). Some insist on
> their own special-tailored compiler (openoffice). The build hackery out
> there in 13000 ports is unbelievably, uh, creative. To avoid all of these
> issues you have to replace all of /usr/bin/{cc,c++,gcc,g++,...} and
> /usr/local/bin/gcc-ooo and that ilk with a symlink to /usr/local/bin/ccac=
he
> and put the real compilers in some other directory. In other words, the
> ccache installation is as transparent as can be. The various builds don't
> even know that they are using ccache when they run /usr/bin/cc and you
> don't need any CC, CXX or PATH sequence hackery. Usually this means to set
> CCACHE_PATH which collides with the needs of a "make buildworld". So, you
> really need two different strategies, one when building
> world/kernel, and one for all other purposes. That's what I do right now
> and so far I have no problems with ports and ccache.
>
> Regards,
>
> 	Jens

Okay, but is /usr/local/share/doc/ccache/ccache-howto-freebsd.txt still val=
id? =20
Such as :=20
To use ccache add the following to /etc/make.conf

=2Eif !defined(NOCCACHE)
=2Eif ${.CURDIR:M/usr/src*}
CC=3D/usr/local/libexec/ccache/cc
CXX=3D/usr/local/libexec/ccache/c++
=2Eelse
CC=3Dcc
CXX=3Dc++
=2Eendif
=2Eelse
CC=3D/usr/bin/cc
CXX=3D/usr/bin/c++
=2Eendif

I'm asking because I'm slightly confused (sorry) as some people tell me to =
not=20
put the block in /etc/make.conf.  If I don't put anything, my .ccache folde=
r=20
remains empty (therefore ccache not being used).=20
Whatever the real usage of ccache, it should be mentionned in that file, or=
=20
during 'make install' as a pkg-message.

Thanks,
Nicolas.
=2D-=20
=46reeBSD 7.0-CURRENT #0: Tue Nov 15 06:21:56 EST 2005    =20
root@clk01a:/usr/obj/usr/src/sys/CLK01A=20
PGP? (updated 16 Nov 05) : http://www.clkroot.net/security/nb_root.asc

--nextPart2354365.1k5VlyUzhj
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBDfyvn4wTBlvcsbJURAl0cAKDEX7fGd6f2eD6DJl7XDSur3nVYkACfcGMO
7ndJc6+Zth6fBtuCxAgGiew=
=7H5V
-----END PGP SIGNATURE-----

--nextPart2354365.1k5VlyUzhj--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511190843.03660.nb_root>