Because of my upcoming job I've been looking into build system
alternatives to Autotools/Make.  Yesterday, a co-worker here pointed
me to one I hadn't heard of before: Waf (
http://code.google.com/p/waf/ ) that I thought you guys might be
interested in.

What I like about it:

1.  It's full python baby!  That means you have the full power of
python behind you when you need to do things like interrogating
generated files from other libraries (like MPICH or Petsc).
2.  It's very object oriented... which makes it easy to extend (like
adding new compiler support).
3.  The syntax is pretty straightforward.
4.  It's fast... it does a lot of caching.  It can even use FAM and
other kernel level file monitoring tools to help decide what to build
which is very slick.
5.  It has a lot of good ideas... like auto-reconfigure if you modify
one of the wscript files (which are like Makefiles).
6.  You can "build" all of Waf into one single python file... that you
just distribute with your source code.  This alleviates any issues
with making your users install/compile binaries just to build your
source code.

Some drawbacks:
1. It's fairly immature.  It is being actively developed but I've
already run into areas that just aren't well fleshed out.  The nice
thing is... since it's python it's easy to extend to do what you want.

Anyway... I'm not really advocating switching libMesh over to this
build system... but the idea is interesting.  It's always good to look
at build system alternatives.

Derek

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Register now and save $200. Hurry, offer ends at 11:59 p.m., 
Monday, April 7! Use priority code J8TLD2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to