lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch: small reduction in output from make doc


From: Graham Percival
Subject: Re: Patch: small reduction in output from make doc
Date: Thu, 16 Jun 2011 17:37:08 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

On Wed, Jun 15, 2011 at 07:10:55PM +0200, Reinhold Kainhofer wrote:
> On Mi., 15. Jun. 2011 18:51:59 CEST, Phil Holmes <address@hidden> wrote:
> 
> > I can't say I disagree.   As it stands, however, my initial goal is to
> > get   the output down to a readable amount full stop - if that means
> > discarding a   few error messages thrown by LilyPond in compiling lily
> > files to create midi   files, I'm not sure I'd be too worried.

Woah there!  Are you talking about discarding some *warning*
messages, or *error* messages?  If we lose some errror messages,
that's really serious.

> The problem is that when the build fail, it will do so without any indication 
> why it did. To me that's even worse than having too much progress output.

I agree.  The ultimate goal behind any build system is to make
development easier / more reliable / etc.  A build failing with no
indication is much worse than being swamped with output.

now, if we had a python-based build system, I'd suggest writing a
    def compile_lily(ly_filename, log_filename):
function, which would try to compile something, stick all output
to a filename (maybe even two separate filenames, one for stdout
and one for stderr), but if there was an actual error, it would
display a special message (maybe including the last few lines of
stderr), etc.

Can this be done in make/stepmake?  I don't know, but it would be
really valuable if we could.

NB: in shell programming (I forgot this yesterday), you can do
stuff like:
    make || echo "something went wrong"

if the "make" ends successfully, the shell doesn't evaluate the
second item because the "or" is already true from the make.  (this
is known as "lazy evaluation" in some academic circles)
this might be a useful trick in having error messages.


Also NB: you've been reading the make(1) manual, but lilypond has
an extra stepmake layer.  As far as I can tell, this was an
attempt towards having an easier-to-understand (or at least
easier-to-maintain) build system.  I think it was a good idea,
although I'm deeply "not sold" on the particular implementation
(and the lack of docs describing it).

On one hand, this might make things easier for you, since stepmake
might offer some macros or functions or something which could be
useful in this logging/displaying errors stuff.  On the other
hand, this might make things much harder, since stepmake is a
custom build system add-on that only lilypond users, so there
aren't nice manuals or blog posts or mailing list questions about
how to use it (other than lilypnod-devel).

Cheers,
- Graham




reply via email to

[Prev in Thread] Current Thread [Next in Thread]