Georg Wrede, el 22 de marzo a las 17:51 me escribiste: > So, yesterday the best was SCons, today it's AAP, what's it gonna be > tomorrow?
Waf[1]? No, really, I just discover it today =) What I always hated from scons (and the reason I stopped using it) is it was *sloooooow* (I don't know if it improved). So today, because of this discussion, I hit this page with some benchmarks about build systems: http://psycle.svn.sourceforge.net/viewvc/psycle/branches/bohan/wonderbuild/benchmarks/time.xml Waf seems to be a good candidate, this are the main features: - Easy to use: Waf configuration files are written in the mainstream scripting language Python - Easy to install and to distribute: Waf fits entirely in a single 75KB redistributable file which does not require any installation to run - Portable: Waf only depends on Python which is ported onto most operating systems - Reliable: Waf uses hash-based dependency calculation dependencies to compute the targets to rebuild - User-friendly: The output can be displayed in colors, filtered, displayed with progress bars or output all the commands that get executed - Documented: The Waf book sums up the essential concepts - Flexible: Because Waf has a carefully designed object oriented architecture it is very easy to add new features - Fast: Because of its carefully designed architecture, Waf is able to distribute the jobs on multi-core hardware (-j), it is able to reuse targets compiled already (ccache), and its runtime footprint is pretty small compared to other build tools - Broad support for languages and tools: Waf is already used for C, C++, C#, D, java, ocaml, python project, and provides various tools for processing docbook, man pages, intltool, msgfmt The only feature I don't appreciate much (as of scons) is that build files are written in Python (even when I loooove Python, I don't think it's the best choice for build files). And guess what? It even support D =) http://waf.googlecode.com/svn/trunk/demos/d/ [1] http://code.google.com/p/waf/ -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ----------------------------------------------------------------------------