Read This First!
Boost.Build is not mature yet. Some features are missing or incomplete. Instructions for accomplishing basic tasks (this page) are rudimentary. But enough functionality is working well to make using Boost.Build worthwhile. The important bits-and-pieces are all there - what's left is some of the relatively minor glue to make the system smooth and easy to use. Don't expect building a full Boost object library for any random compiler to work yet. If there isn't a jam configuration file for your favorite compiler, consider contributing one. Secondary tasks like copying libraries to installation specific directories are also weak. Note that the underlying Jam build engine is mature software, and has been widely used for many years. The FTJam and Boost specific extensions are well on their way to becoming stable, and have begun to attract interest and use outside of Boost. |
Introduction
Preliminaries
Building Boost Libraries
More on using the tools
Tools available
These instructions explain how to accomplish common tasks using Boost.Build, the Boost Build System.
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 Boost Python, Regular Expression, and Thread libraries.
- For easy-to-build source files, see the FTJam site on SourceForge.
- For Linux and Win32 pre-built executables, see the ftjam section of the FreeType file list.
Using your operating system's command line interpreter, execute the following steps. The sample commands given will work for both UNIX and Windows.
chdir my_boost
jam -ftools/build/allyourbase.jam
-sTOOLS="
gcc metrowerks
"
The build system's toolsets are designed to work in either of two ways:
TOOLS Name | Description |
borland |
Borland command line compiler tools |
como | Comeau command line compiler tools |
gcc |
GNU GCC command line compiler tools |
gcc-stlport |
GNU GCC command line compiler tools, using the STLport library |
intel-win32 | Intel command line compiler tools, in the Win32 environment using the Microsoft library |
kcc |
KAI command line compiler tools |
metrowerks |
Metrowerks CodeWarrior command line compiler tools |
msvc |
Microsoft Visual C++ command line compiler tools |
vacpp | IBM Visual Age C++ command line compiler tools |
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.
Revised 02 November, 2001
© Copyright 2001 Beman Dawes