Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Fri, 16 Mar 2012 18:55:45 -0400
From: Rich Felker <dalias@...ifal.cx>
To: musl@...ts.openwall.com
Subject: Re: [PATCH] makefile: Make default output compact and similar
 to Linux kernel.

On Fri, Mar 16, 2012 at 11:00:23AM -0700, Isaac Dunham wrote:
> On Thu, 15 Mar 2012 12:42:09 -0400
> Rich Felker <dalias@...ifal.cx> wrote:
> 
> > On Thu, Mar 15, 2012 at 10:25:23AM +0200, Georgi Chorbadzhiyski wrote:
> > > This patch changes default make output to be similar to Linux kernel.
> > > An example output looks like this:
> > > CC      src/unistd/write.c
> > > LD      lib/libc.so
> > > BUILD   tools/musl-gcc
> > > INSTALL /usr/local/musl/lib/libc.a
> ...
> > 
> > Any opinions on this? I really dislike this kind of output, but if
> > there's a demand for it I'll consider it.
> > 
> On the plus side, it makes spotting warnings/errors easier.
> It does look a little cleaner, as well.

For warnings, I agree. For errors, they should stop compilation
anyway. As for myself, I always build with -Werror but with a
carefully tuned set of warning options that disable a number of
warnings which I consider broken by design (e.g. ones that necessarily
have false positives that can't be "fixed", like unused function
arguments) or which impose style rules I disagree with. :-)

> On the down side
> -it complicates makefiles

Indeed. A feature like this really belongs in make itself (e.g. make
--pretty or something) rather than in every single program's makefile.

> -it hides what's happening (and often the flags gcc gets are the
> biggest problem)

With most programs, the reason I dislike the "V=0" style is that it
makes it impossible to re-run just the command that failed after
changing something in the source, or to rerun it with slightly
different compiler options. Often re-running make will recurse through
10 different directories before getting back to where it stopped, and
of course the situation is even worse trying to find where in the
makefile to override CFLAGS for just one source file (e.g. when gcc is
OOM'ing building some gigantic file with -O3 and you want to retry
with -O0 just to get a working build).

For musl this is not such a big deal since the makefile is sane.

> -you can review the errors in full context later with 
> make  2>&1 | tee errors.log -
> 
> So my vote is that it isn't worth the effort.

My view is that it wouldn't be as harmful in musl as in many other
projects, but I still find it mildly annoying at best and slightly
problematic at worst.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.