PORTABLE BUILD INFRASTRUCTURE
Latest version:
Buildtool 0.15

Welcome
News
Features
Comparisons

Get Buildtool

Download
Anonymous CVS

Support

Documentation
Mailing lists
SF project

Development

Help wanted

Features

Here are detailed several properties of the Buildtool utility set:

  • BSD licensed. This makes Buildtool ideal for free and/or commercial projects.
  • Buildtool is a highly integrated set of tools. All of them work together to make your package simpler and easier to "understand" for the end-user. Although, modules are independant, which makes them scalable.
  • Buildtool needs to be installed beforehand on any system before you can build a buildtool-ized package. This avoids the inclusion of really huge configure (autoconf) and Makefile.in (automake) scripts in your source package. As a side effect, bugs fixed and improvements made to Buildtool will affect all source packages automatically, without having to depend on the developer to regenerate files.
  • Buildtool avoids polluting namespaces. It prefixes all public script and environment variables with the BT_ string.
  • Buildtool is extensible. It supports, by default, C and C++ languages, but can be easily modified to support more.

As said before, Buildtool is modular. The following is a list of all available modules:

  • The bt_config module allows you to check for system specific features during the auto-configuration stage of your package. This means you can check for binary programs, C headers, libraries, etc. all automatically and unattended.
  • The bt_dist module builds distribution files (tar.gz) for your package. It supports multiple compressed formats and, in a future, it may also support binary packages like rpm or deb.
  • The bt_doc module is a small documentation reader, destinated to the end user of your package. It will allow him to read build-related documents from a simple menu.
  • The bt_lint module checks several details of your package to see if it passes some basic checks. This will help you to know if you have buildtool-ized it properly.
  • The bt_logic module tracks dependancies between build files in your package and executes several stages on them (like building, cleaning, installing, etc.). It also knows how to build things like shared libraries on a bunch of platforms, and most imporant, hides all these details.
  • The bt_pkgflags module keeps a small database of compiler and linker flags needed to link programs against specific libraries. This is similar to pkgconfig.
  • The bt_sh module is a fast and small shell interpreter used to avoid compatibility with ancient shells. It also includes extra functionality to simplify and speed up Buildtool's code.
  • The bt_swcgen module helps the system administrator to create system-wide configuration files that cache check results coming from bt_config and keeps them up to date.
  • The bt_wizard module helps the developer in the creation of a basic skeleton of files for a new project, based on a serie of interactive questions. An automatic mode is also available, though.
  
SourceForge.net LogoBuildtool (c) 2002, 2003, 2004 Julio M. Merino Vidal
$Id: features.xml,v 1.6 2003/08/31 19:45:29 jmmv Exp $