This summer has been a positive one for MBuild. The ultimate goal of my
work has been to put together a release that I can enthusiastically
recommend to other people. MBuild isn't there yet, but it's much closer
than it was at the beginning of the summer, and it should only require a
little bit more work to push the project over the edge.
I met the goals that were set for the summer. The first third of the
summer was spent demonstrating that F-Spot could be built via MBuild.
This project had three important functions: first, because it could be
done at all, it showed that MBuild is viable for building real-world
software; second, it forced me to implement some important MBuild
functionality, most notably C compilation support; and third, it gave me
a clearer view of the limitations in MBuild that needed to be overcome
to make it a compelling replacement for the autotools package.
The second two-thirds of the summer were spent revamping the internal
architecture of MBuild. In particular, I split the build execution logic
from the build specification logic by separating the latter step into a
distinct compiler phase. Not only did this work clean up the design of
MBuild, it also made it run significantly more quickly than before. This
change in design also opened the way for the final modifications that
will make MBuild a truly useful tool.
These final modifications are underway now. They involve an extensive
change to the 'bundle' system, but they will allow much more flexible
build specifications and a powerful templating feature that will make
MBuild vastly easier to use in certain circumstances. Once the coding is
done, it's "just" a matter of documenting everything clearly and
usefully so that people other than me can learn how to use MBuild
effectively.
I've been busy lately, but I hope to finish off the new bundling and
documentation soon. After that's done, I'll start trying to build a
community of MBuild users and developers. If the project gains traction,
I think it will be an extremely valuable tool in the Mono and larger
Free Software communities: my hope is that MBuild will be to the
autotools what Subversion has been to CVS. But it will take time to see
whether that will be the case.
I'd like to thank Dick for his guidance over the summer and Miguel for
choosing the project. And, of course, Google for (indirectly) choosing
to invest in my project. I'm going to try and make sure their investment
pays off.
Cheers,
Peter
http://www.newton.cx/~peter/mbuild/
--
Peter Williams / pe...@newton.cx