Navigation Menu

Skip to content

tychoish/buildcloth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Buildcloth README

You can download buildcloth from pypi, or read the documentation for a complete introduction to Buildcloth.

Overview

Buildcloth is a Python library for specifying build systems. You can think of Buildcloth as a meta-build toolkit, but it's really about defining and maintaining complex multi-stage processes as easily as possible. There are three different tools in the buildcloth toolkit:

  • Simple procedural interfaces for generating build system definition files for Make and Ninja, in easy to use Python.
  • A higher level cross-tool abstraction layer for specifying build-rules that you can use to generate Makefile and ninja.build output.
  • A simple stage-based Python tool for defining and running concurrent (i.e. multiprocessing) Python-based build systems with minimal overhead.

Although these components are distinct and are available for independent use, they provide a basis for building and combining ad-hoc tools to orchestrate and implement build systems, without risking insanity or fragility.

Features

  • Buildcloth is agnostic about your approach to storing build generator data: the build cloth system may generate build systems from YAML or JSON files, database systems, derive information from the source directly.
  • If you're comfortable with basic Python code and understand your build process, you can use Buildcloth.

    For generating Make and Ninja files, Buildcloth minimizes the amount of Make or Ninja-specific knowledge required to engineer an effective build system. At the same time, the build-system output can be very human readable, which makes debugging easier and minimizes dependence on buildcloth.

    For stage-based builds, Buildcloth provides straight forward idiomatic Python tools for defining a build system.

  • Buildcloth is attempting to insulate build system implementation from your build system, making it easier to transition between (and test) Make, Ninja, and potentially other custom tools.

Use

See the project documentation for full usage information. In particular, consider the api reference and the general tutorial.

Project Information

About

a lightweight python module for generating makefiles.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages