more/getting_started/detail/build-from-source-head.rst

5.3 KiB

Boost.Build is a text-based system for developing, testing, and installing software. To use it, you'll need an executable called bjam.

Get bjam

bjam is the that drives the Boost Build system. To build Boost binaries, you'll invoke bjam from the Boost root.

Boost provides pre-compiled bjam executables_ for a variety of platforms. Alternatively, you can build bjam yourself using these instructions.

Identify Your Toolset

First, find the toolset corresponding to your compiler in the following table.

Note

If you previously chose a toolset for the purposes of building bjam, you should assume it won't work and instead choose newly from the table below.

Toolset Name Vendor Notes
acc Hewlett Packard Only very recent versions are known to work well with Boost
borland Borland
como Comeau Computing Using this toolset may require configuring another toolset to act as its backend
cw Metrowerks/FreeScale The CodeWarrior compiler. We have not tested versions of this compiler produced since it was sold to FreeScale.
dmc Digital Mars As of this Boost release, no version of dmc is known to handle Boost well.
darwin Apple Computer Apple's version of the GCC toolchain with support for Darwin and MacOS X features such as frameworks.
gcc The Gnu Project Includes support for Cygwin and MinGW compilers.
hp_cxx Hewlett Packard Targeted at the Tru64 operating system.
intel Intel
kylix Borland
msvc Microsoft
qcc QNX Software Systems
sun Sun Only very recent versions are known to work well with Boost.
vacpp IBM The VisualAge C++ compiler.

If you have multiple versions of a particular compiler installed, you can append the version number to the toolset name, preceded by a hyphen, e.g. intel-9.0 or borland-5.4.3.

Select a Build Directory

Boost.Build will place all intermediate files it generates while building into the build directory. If your Boost root directory is writable, this step isn't strictly necessary: by default Boost.Build will create a bin.v2/ subdirectory for that purpose in your current working directory.

Invoke bjam

Change your current directory to the Boost root directory and invoke bjam as follows:

bjam --build-dir=build-directory_ --toolset=toolset-name_ stage