[ccache] Support for color diagnostics

Lubos Lunak l.lunak at centrum.cz
Sun Jun 1 02:17:20 MDT 2014

On Friday 29 of November 2013, Lubos Lunak wrote:
>  Hello,
>  the attached patch adds ccache support for compiler color diagnostics
> (also reported by somebody as #10075).

 Ping? Any "official" comments on the patch? I've been using the patch for 
half a year by now without problems.

>  Clang automatically uses colors for output automatically if used in
> terminal. Ccache's redirecting to a file disables this. GCC 4.8 has got a
> similar support, except that it apparently requires also $GCC_COLORS or an
> explicit option.
>  The patch detects if the compiler would use colors if used without ccache
> and explicitly forces an option to achieve this. Note that I do not have
> GCC 4.8 here, so I tested with Clang's alias and the GCC_COLORS support is
> done based on documentation.
> Caveats:
> - GCC developers decided to roll their own name for the option when
> introducing it. Clang has an alias for the GCC way, but versions predating
> that obviously can't support it, so it's necessary to detect the compiler.
> As ccache doesn't do that (and I don't find it worth much effort, as it
> can't be 100% reliable anyway), the code merely guesses from the binary
> name. If the compiler used will be e.g. the 'cc' symlink, there'll be no
> colors. No big deal.
> - Since the stderr is different, obviously compiling with and without
> colors has different results as well. That means that such a compile
> is "duplicated". It's hopefully not such a common case, although it's
> perfectly possible. I don't know if it's worth the effort to try to be
> smart here. A possibly simple improvement could be to search the cache with
> and without the option set and if stderr is empty, reuse the result
> regardless of the option. I'm not quite sure where exactly this should
> happen in the code.
>  I expect it'd make sense to add $CCACHE_NOCOLORS to disable this support?
>  I can also create manpage section for this color support, but I first
> wanted to check here with the code.

 Lubos Lunak
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-support-compiler-color-diagnostics-if-possible.patch
Type: text/x-diff
Size: 4759 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/ccache/attachments/20140601/0aa00bf1/attachment.patch>

More information about the ccache mailing list