Custom Build SystemsΒΆ

In truth, buildc (See: Define and Run Builds With buildc and buildc – Command Line Build System Interface) is a thin wrapper around the underlying build system library. It performs the following functions:

  • Optionally converts the buildc specification into a Makefile (work to generate ninja files is forthcoming.)
  • Imports strings (for substitution) and the function dictionary for Python-based build jobs.
  • Processes user input, in combination with sensible defaults, and passes this onto the build system library in system.py.

Depending on the current system you’re using, you may find that foregoing buildc itself in favor of wrapping system.py directly may be more efficient. This would permit:

  • defining build specifications using generator functions and passing these, with functions directly into build systems. You will need to define your own set of user-interface functions.
  • easier integration with existing build infrastructure.
  • better embedding of build-cloth components into your existing infrastructure.

Note

In a future release this tutorial will include more through examples and instructions for building a custom build system.