When comparing Waf vs Tup, the Slant community recommends Tup for most people. In the question“What are the best open-source build systems for C/C++?” Tup is ranked 5th while Waf is ranked 10th. The most important reason people chose Tup is:
It is very fast.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Written in Python
You don't have to learn a domain specific syntax. If you know Python, it's a breeze.
Pro File changes are tracked based on a hash of their changes not the time stamp
This means that switching branches in git isn't a big deal.
Pro Very fast
Much faster than its predecessor SCons.
Pro Fairly easy to extend
Pro Very simple graph based API
Pro Speed
It is very fast.
Pro Tidy
It will automatically clean-up old files.
Pro General
Not bound to C/C++.
Pro Lua
Tup supports writing build definitions using Lua or Tupfiles.
Pro Cross platform
Supports Linux, OSX, and Windows.
Cons
Con Obfuscated documentation
Con Non-standard Python
Con Variants not working on Windows
The solution for having different build configuration (think Release/Debug) is broken on Windows.
Con Cannot incrementally modify or delete files
Cannot incrementally modify files (e.g. LaTeX PDF, VISing and LIGHTing Quake maps, which takes the same BSP file as input and output), and will not delete files (e.g. rm build/*.o).