lua-users home
lua-l archive

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


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.