On Tue, Nov 15, 2005 at 07:41:58PM -0500, Nicolas Blais wrote: ... # Whatever the final outcome, the current port of ccache breaks a lot of big # compiles (3 ports failed during 'portupgrade -ai', such as GTK2.8.7 and # buildworld) while NOCCACHE makes the build a success. # # Maybe flag the port 'broken' until it is safe to use? The ccache port is not broken. Rather, the assumption that any port can deal with CC="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 splitting 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/ccache 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 -- Jens Schweikhardt http://www.schweikhardt.net/ SIGSIG -- signature too long (core dumped)Received on Thu Nov 17 2005 - 16:43:22 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:47 UTC