I wish I had not used the WAF build system, it works - it’s okay, but it introduces more WTFs than necessary. I can perhaps dig out from under WAF at some point but it would be a monumental undertaking.
I cannot find a link, but if samba team seems happy from their choice of waf, and samba is closer to chromium in terms of what it needs from a build tool (large multiplatform compiled codebase). Your link is not really informative - he does not like it, but we don't know why. I am not surprised it has WTF for something like nodejs (which let's be honest, has rather simplistic needs for a build tool compared to samba or chromium). Waf is far from perfect for sure.
I have experience with quite a few build tools, from autoconf/make to waf, with custom ones, and waf is by far the one with the least WTF so far if you want to do something which is hard. It gives you the power of a real language, which is needed for complex builds IMHO. It looks like node.js is now using cmake, and its macro language is quite weak and error prone IMO, although it definitely works for non trivial projects. Waf is also fast, small enough that you can hack it if wanted (compared to cmake with C++ + architecture based on autogenerated makefiles...), and just enough usage by non-trivial projects I would expect for a tool I may depend on (samba and ardour are two quite big, multi-year, > 100 kloc of cross-platform, multi-language tools).
— Ryan Dahl, in reference to Node.js
http://bostinnovation.com/2011/01/31/node-js-interview-4-que...