1. Write a parser for the most important rules (exe, lib and so on) based on Boost.Spirit 2. Use the parser's actions to create a dependency tree based on Boost.Graph 3. Attach Python functions to the nodes in the dependency tree based on Boost.Python 4. Implement Python functions for one toolset (like g++)
The project promises a lot of variety as different Boost libraries have to be used. It's also an opportunity to get familiar with various Boost libraries. As it can be broken down into tasks it shouldn't be that difficult to make a realistic plan for a summer project.
If there is anyone interested have a look at <https://github.com/boostcon/2011_presentations/raw/master/mon/Boost.Build .pdf> and http://www.highscore.de/cpp/boostbuild/ for more information about the build system.
And of course the idea is not to create a fully featured Bjam clone in a few months. If there is a binary at the end of the project which can build a software based on a simple Jamfile the project is a success. It's more important to have all the required components in place even if they are far from complete (but once they are in place it shouldn't be too difficult to extend them later and add support for another rule for example).
What about getting the CMake support finalized instead? Who needs yet another build system for Boost? Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu