JHBuild is a tool designed to ease building collections of source packages (also known as modules). It uses “module set” files to describe the modules available to build. These files include dependency information that allows JHBuild to work out what modules need to be built and in what order to build what the user requested.
JHBuild was originally written for building GNOME, but has since been extended to make it usable with other projects. A “module set” file can be hosted on a web server, allowing people to provide build rules independent of JHBuild.
JHBuild can build modules from a variety of sources, including CVS, Subversion Arch, Bazaar, Darcs, Git and Mercurial repositories, as well as Tar archives hosted on web or FTP sites; and using a variety of build systems, including Autotools, CMake, WAF, Ant, Python Distutils and Perl Makefiles.
JHBuild is not intended as a replacement for the distribution's package management system. Instead, it makes it easy to build everything into a separate install prefix so that it doesn't interfere with the rest of the system.