Building Boost Libraries
Configuring the tools
These instructions explain how to accomplish common tasks using Boost.Build, the Boost Build System. The build system uses Boost.Jam, an extension of the Perforce Jam portable make replacement.
For tasks not covered here, see the full build system documentation.
Note that many Boost libraries are implemented entirely within their headers, and so can be used without building object libraries. Libraries that do require building object libraries first include the Python, Regex, Signal, and Threads libraries.
Using your operating system's command line interpreter, execute the following steps. The sample commands given will work for both UNIX and Windows.
chdir boost_1_28_0(or whatever release you downloaded)
bjam "-sTOOLS=gcc metrowerks"
The build system's toolsets are designed to work in either of two ways:
bjamcommand-line. These variables are used by the build system to locate the tools and invoke the necessary setup.
The following toolsets are supported by Boost.Build. For information about configuring each toolset, click its name in the leftmost column.
||Apple Darwin OS hosted GNU GCC.|
||Comeau C++ compiler front-end for Windows, using Microsoft Visual C++as a back-end.|
||GNU GCC on Unix and Cygwin.|
||GNU GCC on Unix and Cygwin, using the STLport standard library implementation|
||GNU GCC Cygwin command line compiler tools running in "no-cygwin" mode (produces commercially redistributable objects)|
||Intel C++ for Windows using the Dinkumware standard library in the Intel-required Microsoft Visual C++ 6 or 7 installation|
||Intel C++ for Linux|
||Borland C++ for Linux (Kylix).|
||Metrowerks CodeWarrior command-line tools|
||Metrowerks CodeWarrior Pro 8.x command-line tools|
||GNU GCC and associated tools in MinGW configuration (produces commercially redistributable objects)|
||SGI MIPSpro C and C++|
||Microsoft Visual C++ command-line tools.|
||Microsoft Visual C++ command-line tools, using the STLport standard library implementation|
||Compaq C++ for Tru64 UNIX (versions prior to 6.5)|
||Compaq C++ Version 6.5 for Tru64 UNIX|
||IBM Visual Age C++ command-line tools|
C++ command-line tools, in case you are using the
Unless otherwise specified, the library is assumed to be the one shipped with the compiler.
Additional tools can be supplied by adding an appropriate xxxx-tools.jam file to the tools/build subdirectory, where xxxx is the name of the tool being added. If you write an additional toolset file, please submit it to Boost so others may benefit from your work.
Pre-built Boost.Jam executables are available from the SourceForge download section. Included are plain binaries, packaged binaries, and the source. The Boost.Jam source files are also included in the Boost distribution, so you can build the Boost.Jam executable yourself:
Windows 9x users should note that the bjam executable will produce command lines too long for command.com to handle.
Cygwin users can use the cygwin executable to work around Windows 9x command line length problems, but only if they are using cygwin-gcc compiler (other windows compilers don't play particularly well with this executable).
Revised 16 December, 2002
© Copyright 2001 Beman Dawes