waf is currently only used by wx, but most of the build system logic would work regardless of port, so it'd be nice to make it easier for other ports to try waf out if they so choose.
Created attachment 90889 [details]
The patch above does two main things:
1) Moves Tools/wx/build to Tools/waf/build and puts waf in Tools/waf instead of Tools/wx. (90% of the patch, and the reason it's so large.)
2) Turns build_port define into a runtime option, so that you can pass --port="wx" or any other to waf. To make this work, some port-specific logic that was calculated at load time needed to be moved into the configure and build methods.
I've tested that the wx port, which is the only port currently using this, builds correctly everywhere we support.
Comment on attachment 90889 [details]
Landed in r84994, thanks!