Get Buildtool
Support
Development
| FeaturesHere 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.
|