[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [ANN] Lake 1.2, a Lua-based Build Tool
- From: steve donovan <steve.j.donovan@...>
- Date: Sat, 21 Jan 2012 11:24:08 +0200
On Sat, Jan 21, 2012 at 5:01 AM, David Manura <dm.lua@math2.org> wrote:
> How is this differentiated from primemover? [1-2]
It's mostly convergent evolution, but Lake had the explicit goal of
being cross-platform and compiler-agnostic, which in practice means
'understands gcc-style and msvc-style compilers and their quirks'.
That practical need also shaped a higher-level approach to doing
common things, although it's always possible to work explicitly with
compile and link flags.
> As you mention the desire for parallel build support, a related need
> for larger C++ projects is precompiled headers.
That's been on the wishlist for a while, since it's a big win for C++.
Lake would abstract away the differences between msvc and gcc compiled
headers.
> Ninja [3] perhaps is something to consider in terms of speed
Ninja is impressive, but I first want to find out how Lake handles
_big_ projects. But as Peter Drahos says about his CMake conversions
for LuaDist, the straightforward part is writing the build description
in the higher-level tool - the hard part is reverse-engineering the
existing build system. So I may make up some synthetic examples to
see when things start getting sluggish.
> IMO, memoized build systems [4] also look interesting.
You mean CMake's ability to remember where it found things, so it
doesn't do extra work each time? I don't know in practice whether
there's enough improvement to justify the hassle; I remember fighting
with CMake to persuade it to forget some things ;)
As an auto-criticism, Lake is far too monolithic at the moment; an
oversized script; it needs modularization and more customization hooks
to become a program.
steve d.