The DataBeaver's Domain

Software - Builder

Builder is a program for building other programs, similar to make, scons and others. Its main design goals are minimizing duplication of configuration between packages and being as fast as possible. Features include integrated configuration and dependency resolution C sources.

Why another build system?

The story starts way back when I was still using make. I came up with all kinds of features to streamline development, and my makefiles quickly grew to have upwards of 100 lines that was shared between projects. Since I often work on multiple projects in the same timeframe, copying the common parts back and forth became a real pain in the behind. Switching to scons helped to cut it down temporarily, but with the power of Python behind it, I came up with even more features. Thus I decided to write my own system from scratch to get the common parts in one place.

Builder's per-project configuration files are fairly high-level, dealing with concepts like packages, programs and libraries rather than individual files. Many common tasks are integrated, speeding up the preparation time. Builder avoids the need for a recursive build, and thus does not have to deal with the related problems. In fact, Builder goes one step further - it can combine several packages into a single task.

Latest version: 1.0
Public git access is available at http://git.tdb.fi/?p=builder.git.

To compile Builder from source, you will also need the core and datafile libraries, as well as libsigc++ 2.0.