| Home | Libraries | People | FAQ | More

## Chapter 22. Installation

This section describes how to install Boost.Build from a released Boost source distribution or CVS image. [2] All paths are given relative to the Boost.Build v2 root directory, which is located in the `tools/build/v2` subdirectory of a full Boost distribution. [3]

1. Boost.Build uses Boost.Jam, an extension of the Perforce Jam portable make replacement. The recommended way to get Boost.Jam is to download a prebuilt executable from SourceForge. If a prebuilt executable is not provided for your platform or you are using Boost's sources in an unreleased state, it may be necessary to build bjam from sources included in the Boost source tree.

2. To install Boost.Jam, copy the executable, called bjam or bjam.exe to a location accessible in your `PATH`. Go to the Boost.Build root directory and run bjam `--version`. You should see:

                   Boost.Build V2 (Milestone N)
                   Boost.Jam xx.xx.xx

   where N is the version of Boost.Build you're using.

3. Configure Boost.Build to recognize the build resources (such as compilers and libraries) you have installed on your system. Open the `user-config.jam` file in the Boost.Build root directory and follow the instructions there to describe your toolsets and libraries, and, if necessary, where they are located.
4. You should now be able to go to the `example/hello/` directory and run bjam there. A simple application will be built. You can also play with other projects in the `example/` directory.

If you are using Boost's CVS state, be sure to rebuild bjam even if you have a previous version. The CVS version of Boost.Build requires the CVS version of Boost.Jam.

When bjam is invoked, it always needs to be able to find the Boost.Build root directory, where the interpreted source code of Boost.Build is located. There are two ways to tell bjam about the root directory:

- Set the environment variable `BOOST_BUILD_PATH` to the absolute path of the Boost.Build root directory.

- At the root directory of your project or in any of its parent directories, create a file called `boost-build.jam`, with a single line:

      boost-build /path/to/boost.build ;

N.B. When bjam is invoked from anywhere in the Boost directory tree other than the Boost.Build root and its subdirectories, Boost.Build v1 is used by default. To override the default and use Boost.Build v2, you have to add the `--v2` command line option to all bjam invocations.

[2] Note that packages prepared for Unix/Linux systems usually make their own choices about where to put things and even which parts of Boost to include. When we say “released source distribution” we mean a distribution of Boost as released on its SourceForge project page.

[3] The Boost.Build subset of boost is also distributed separately, for those who are only interested in getting a build tool. The top-level directory of a Boost.Build distribution contains all the subdirectories of the `tools/build/v2` subdirectory from a full Boost distribution, so it is itself a valid Boost.Build root directory. It also contains the `tools/build/jam_src` subdirectory of a full Boost distribution, so you can rebuild Boost.Jam from source.