0.16 BSD License    
3.3/5 13


Buildtool is a highly integrated shell based build infrastructure.




Buildtool is a highly integrated shell based build infrastructure. It can be used in the development of any kind of software package, like standalone programs, shared libraries or documentation packages due to its modularity.

Here are some key features of "Buildtool":

· Automatic configuration scripts: Buildtool lets you write simple, but yet powerful, automatic configuration scripts. These are used to check for features of the build system and adapt the software package to build properly in it.
· Build scripts: With Buildtool you can also write build scripts. These are used to build and install a software package in the build system. They let you compile any kind of package, ranging from standalone utilities to shared libraries, and in a very simple way, which hides all details of the build host.
· Free: Buildtool is completely free, licensed under the terms of a three clause BSD license. This basically means that it perfectly suits free and commercial development. Other tools are GPL licensed, which may make them less attractive for commercial projects, or even for some free ones!
· Modular: Buildtool is clearly split in several modules, each one doing an specific task. Even though, all parts are highly integrated, and are all handled through a single wrapper.
· No generated files: Unlike other build utilities, Buildtool must be installed on the system before compiling software packages; its scripts are not standalone. The advantadges of this approach are clear: it has no need to generate huge files like configure scripts (coming from GNU autoconf) nor files (coming from GNU automake), which use a big amount of space in distribution files. It also allows all packages to automatically benefit from fixes in Buildtool, without having to regenerate the files included in the distribution. As a disadvantadge, you need to install Buildtool on the build system... but do you really mind about installing a small software package like this one? Really not!
· Portable: Buildtool is known to work in, at least, Darwin, FreeBSD, Linux, NetBSD, OpenBSD and Solaris. Keep in mind that portability is very important, and bugs reported in this aspect are handled as soon as possible.
· Standard shell scripting: In case you are wondering, Buildtool is coded entirely in POSIX shell scripting, with some few exceptions. It includes its own shell interpreter, with some non-standard features (added for full performance), coded in C. Some helper utilities are also coded in C. But from the developer's point of view, all is reduced to shell code as build scripts are written in this language.

What's New in This Release:

· Added preliminar support for work directories, which are used to put all temporary files created during a build in them. This allows making the source tree read only, as it won't get polluted in any way. Note that existing packages may need some tweaks in their logic files to support this completely. To help with testing, you should set the BT_USE_WORKDIR variable in bt_config.conf to `yes', so that this feature is always used.
· Added a standard customizable `DOC' feature, which can be used by the end user to disable installation of documentation. Existing packages may need to be fixed to honour this, though.
· bt_logic's core has been rewritten. It is now much faster than before and has better dependency control, which solves many stupid bugs.
· A framework to run uninstalled programs (those which may be linked to uninstalled libraries) has been readded. It is very similar to what libtool does with its .libs directory, and is completely transparent to the end user.
· Added (in fact, readded, as it was lost during the conversion to bt_logic) support to install packages in a fake root directory, needed in many package systems to support Buildtool-ized programs.
· Definitions' names (those written to the configuration header) have been changed to include the language name they refer to in them. This provides better support when the C and C++ compilers do not match. Note that for this to take effect you need to set BT_REQUIRE to (at least) `0.16'; otherwise, the previous behavior is kept.
· Multiple fixes have been done in the bt_check_bits() function.
· Fixed the link command in bt_logic so that library directories appearing under the same project hierarchy (and manually specified by the -L flag) are not converted to an rpath.
· Fixed build under OpenBSD 3.4, HP-UX and Tru64.
· Added the bt_check_prog_make() check in bt_config, which looks for a make utility.
· Added the bt_echo() and bt_source() functions to bt_swcgen.
· The installation was changed to use unversioned directories and binaries.
Last updated on March 3rd, 2008

0 User reviews so far.


#build tool #build infrastructure #shell application #shell #build #infrastructure #software