lua-users home
lua-l archive

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

Hi all,

>From the blurb:

lake is a build engine written in Lua, similar to Ruby's rake. It is
not a makefile generator, but evaluates dependencies directly - that
is, it is an interpreter of dependency rules...

Apart from being quick & compact, these are the features of interest:

it is an embedded DSL (Domain Specific Language) - all the normal
functionality of Lua is available
it knows about both GCC and Microsoft Visual C++ compilers, and does
cross-platform builds
it knows about building Lua extensions in C or C++

Still beta, but growing up fast.  In particular, this is the last
monolithic script release. Functionality has been moved into tables
like file, list, util, path and lake. As soon as I have enough tests,
I'll do the surgery and split it up more sensibly.

This version has a new way of handling unrecognized needs:

$ lake -e "c.program{'test',needs='foo bar'}"
--- variables for package foo
FOO_INCLUDE_DIR = 'NIL' --> please set!
FOO_LIBS = 'foo' --> please set!
--- variables for package bar
BAR_INCLUDE_DIR = 'NIL' --> please set!
BAR_LIBS = 'bar' --> please set!
lake: unsatisfied needs

That is, the Lake output is exactly what you would need to copy to a
config file.

steve d.