2006-12-22 22:52:22 +08:00
|
|
|
.. Copyright David Abrahams 2006. Distributed under the Boost
|
|
|
|
.. Software License, Version 1.0. (See accompanying
|
|
|
|
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
|
|
|
|
Boost.Build_ is a text-based system for developing, testing, and
|
|
|
|
installing software. To use it, you'll need an executable called
|
|
|
|
``bjam``.
|
|
|
|
|
|
|
|
.. |precompiled-bjam| replace:: pre-compiled ``bjam`` executables
|
|
|
|
|
|
|
|
|
|
|
|
.. _precompiled-bjam: http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941
|
2007-04-12 07:35:08 +08:00
|
|
|
.. .. _Boost.Jam documentation: Boost.Jam_
|
2006-12-22 22:52:22 +08:00
|
|
|
.. _Boost.Build: ../../tools/build/index.html
|
|
|
|
.. _Boost.Jam: ../../tools/jam/index.html
|
|
|
|
.. _Boost.Build documentation: Boost.Build_
|
|
|
|
|
|
|
|
Get ``bjam``
|
|
|
|
............
|
|
|
|
|
|
|
|
``bjam`` is the |command-line tool| that drives the Boost Build
|
|
|
|
system. To build Boost binaries, you'll invoke ``bjam`` from the
|
|
|
|
Boost root.
|
|
|
|
|
|
|
|
Boost provides |precompiled-bjam|_ for a variety of platforms.
|
|
|
|
Alternatively, you can build ``bjam`` yourself using `these
|
|
|
|
instructions`__.
|
|
|
|
|
|
|
|
__ ../../doc/html/jam/building.html
|
|
|
|
|
|
|
|
|
|
|
|
.. _toolset:
|
|
|
|
.. _toolset-name:
|
|
|
|
|
|
|
|
Identify Your Toolset
|
|
|
|
.....................
|
|
|
|
|
|
|
|
First, find the toolset corresponding to your compiler in the
|
|
|
|
following table.
|
|
|
|
|
|
|
|
+-----------+--------------------+-----------------------------+
|
|
|
|
|Toolset |Vendor |Notes |
|
|
|
|
|Name | | |
|
|
|
|
+===========+====================+=============================+
|
|
|
|
|``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. |
|
|
|
|
+-----------+--------------------+-----------------------------+
|
|
|
|
|
|
|
|
__ Boost.Build_
|
|
|
|
|
|
|
|
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. ``msvc-7.1`` or ``gcc-3.4``.
|
|
|
|
|
|
|
|
.. Note:: if you built ``bjam`` yourself, you may
|
|
|
|
have selected a toolset name for that purpose, but that does not
|
|
|
|
affect this step in any way; you still need to select a Boost.Build
|
|
|
|
toolset from the table.
|
|
|
|
|
|
|
|
.. _build directory:
|
|
|
|
.. _build-directory:
|
|
|
|
|
|
|
|
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``
|
|
|
|
...............
|
|
|
|
|
|
|
|
.. |build-directory| replace:: *build-directory*
|
|
|
|
.. |toolset-name| replace:: *toolset-name*
|
|
|
|
|
|
|
|
Change your current directory to the Boost root directory and
|
|
|
|
invoke ``bjam`` as follows:
|
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
|
|
|
bjam **--build-dir=**\ |build-directory|_ **--toolset=**\ |toolset-name|_ stage
|