Why build a tool anyway? Why not make a build library that we can use in our build scripts?
Then we just import the library in our `build.d` script, write the build script with the help of those library functions, and let the user run `rdmd build.d`. No need to install any tools, just run rdmd. I'm already using this approach for DWinProj., the only issue is that the build script is a little large (~300 lines), but a lot of its code could be put into a library (e.g. it has file traversing, parallel builds, checking if all tools are present, checking if all libraries are present, converting header files, etc..). This would reduce the script to a few dozen lines. And that's probably what I'll do to make my other projects easier to build.