lyyli


Hamster™

Picture Copyright © 2002, Essi-Maria Tiittanen

The build tool used for building LuaX is based on 100% Lua and can be used as a generic 'make replacement' for almost any project. It even contains a 'Try' method that has automake-like functionality (detecting whether some compilation would fail or succeed at build time).

Supported systems

Hamster can be used on the following platforms:
  • OS X (gcc)
  • Linux (gcc)
  • Win32 (gcc, Visual C++)
  • Win32 MSYS (gcc)
  • Win32 cross compiled (gcc, OS X or Linux host)
  • PocketPC 2003 (eVC++ 4.0, Win32 host)
  • NetBSD / FreeBSD (gcc)

Also custom compilers can be supported, starting Jan-05 (300105 release) this is done simply by editing a compiler front-end (s.a. 'hamster_gcc.lua') to your liking.
The build engine used by Hamster can be:
  • SCons (any system)
  • GNU make (any system)
  • BSD make
  • Microsoft nmake (Win32)
  • none

For professional work I warmly recommend
SCons, a Python-based build tool that knows how to rebuild when only build parameters have changed (makefiles don't do that). Even with makefiles, Hamster takes care of header dependencies automatically (no need to list your headers, or do 'make dep').
Hamster's API derives from that of SCons, and even the original name of the project was SCons/Lua.

Download


Download Hamster at LuaForge. It is also included within the LuaX package.

Documentation


Documentation of Hamster (manual.pdf), and a sample build file is available here.
Roadmap
Hamster is pretty much in "Done, stable, let's get to other things" status.
If you have any wishes, please send me a note or better yet, a working patch that implements those. :)