[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Build systems suck. Can Lua be the basis for a better build system?
- From: steve donovan <steve.j.donovan@...>
- Date: Fri, 8 Mar 2013 12:53:26 +0200
On Fri, Mar 8, 2013 at 11:51 AM, martinwguy <email@example.com> wrote:
> There is a Torvalds quote (which I just completely failed to find) in
> response to proposals for yet more new build systems, which is
> basically "Please! Don't!"
Yeah, there was a Reddit discussion last year entitled 'Stop making
M*F*king New Build Systems'
And of course you've detailed the exact life cycle of the typical
overambitious universal build system. ;) We make software that _we_
would be comfortable with, and it's a rare person who writes software
that _everyone_ is comfortable with; a big program encodes the
assumptions of its designers. A typical failing is to make the
straightforward super-easy, and then have a nasty learning curve when
you're trying to get the beast to do anything that the designer did
It is (as you say) a complicated problem, and providing helpful sugar
for the common cases does not disguise the pill when things get
Perhaps the problem is that we don't have a good _notation_ for the
problem. Peter Drahos has said that the hard part of converting those
hundreds of projects to CMake was not CMake, but reverse-engineering
what the original build system was doing. It has been said that
source code is a bad place to keep algorithms (anyone who has done
scientific programming and worked with scientists knows all about
this); to keep the build rules in a makefile (often with a hundred Kb
of autotool diarrhea) is doubly bad, since the notation is not at the
right level of abstraction.
Still, a boy must have his hobbies ;)