[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] meson: set colorout to auto
From: |
Gerd Hoffmann |
Subject: |
Re: [PATCH] meson: set colorout to auto |
Date: |
Tue, 25 Aug 2020 10:06:57 +0200 |
On Tue, Aug 25, 2020 at 10:59:42AM +0400, Marc-André Lureau wrote:
> Hi
>
> On Tue, Aug 25, 2020 at 10:44 AM Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> > Dunno why the default is set to "always". IMHO it should be "auto",
> > i.e. only colorize in case stdout goes to a terminal. Cluttering
> > logfiles and confusing compiler message parsers with terminal control
> > sequences is not nice ...
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> >
>
> "Enable colored output with GCC. Ninja redirects stdout/stderr so by
> default GCC thinks it is not talking to a terminal"
>
> https://github.com/mesonbuild/meson/commit/4f63fe498314c385de2d3b6a3a953d15985914d2
Hmm, maybe ninja handles this then, by stripping the terminal sequences
in case stdout isn't a terminal.
With ninja being the default backend the default kind-of makes sense
(for meson upstream) ...
> Since we use make, I don't know if it's any better.
... but given qemu uses make not ninja we might prefer something else ;)
As far I know make doesn't redirect output. Or maybe it redirects using
a pty (instead of a pipe) in case stdout is a terminal. At least auto
mode for colored gcc warnings works fine with make. It is colored when
started in a terminal, it isn't when started in emacs (and piped through
the emacs message parser).
> Perhaps meson should set compiler/tools colors = always/never based on what
> it is connected to at configure time instead?
Why? Even when running configure in a terminal I might use emacs for
builds later on.
take care,
Gerd