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)
|
|
|
|
|
|
|
|
In order to choose the right binary for your build configuration
|
|
|
|
you need to know how Boost binaries are named. Each library
|
|
|
|
filename is composed of a common sequence of elements that describe
|
|
|
|
how it was built. For example,
|
2017-10-21 22:44:55 +08:00
|
|
|
``libboost_regex-vc71-mt-d-x86-1_34.lib`` can be broken down into the
|
2006-12-22 22:52:22 +08:00
|
|
|
following elements:
|
|
|
|
|
|
|
|
``lib``
|
|
|
|
*Prefix*: except on Microsoft Windows, every Boost library
|
|
|
|
name begins with this string. On Windows, only ordinary static
|
|
|
|
libraries use the ``lib`` prefix; import libraries and DLLs do
|
|
|
|
not. [#distinct]_
|
|
|
|
|
|
|
|
``boost_regex``
|
|
|
|
*Library name*: all boost library filenames begin with ``boost_``.
|
|
|
|
|
|
|
|
``-vc71``
|
2007-04-28 09:35:31 +08:00
|
|
|
*Toolset tag*: identifies the toolset_ and version used to build
|
2006-12-22 22:52:22 +08:00
|
|
|
the binary.
|
|
|
|
|
|
|
|
``-mt``
|
|
|
|
*Threading tag*: indicates that the library was
|
|
|
|
built with multithreading support enabled. Libraries built
|
|
|
|
without multithreading support can be identified by the absence
|
|
|
|
of ``-mt``.
|
|
|
|
|
|
|
|
``-d``
|
|
|
|
*ABI tag*: encodes details that affect the library's
|
|
|
|
interoperability with other compiled code. For each such
|
|
|
|
feature, a single letter is added to the tag:
|
|
|
|
|
2010-04-25 00:25:05 +08:00
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
|
|
|
|Key |Use this library when: |Boost.Build option |
|
|
|
|
+=====+==============================================================================+=====================+
|
|
|
|
|``s``|linking statically to the C++ standard library and compiler runtime support |runtime-link=static |
|
|
|
|
| |libraries. | |
|
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
|
|
|
|``g``|using debug versions of the standard and runtime support libraries. |runtime-debugging=on |
|
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
|
|
|
|``y``|using a special `debug build of Python`__. |python-debugging=on |
|
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
|
|
|
|``d``|building a debug version of your code. [#debug-abi]_ |variant=debug |
|
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
|
|
|
|``p``|using the STLPort standard library rather than the default one supplied with |stdlib=stlport |
|
|
|
|
| |your compiler. | |
|
|
|
|
+-----+------------------------------------------------------------------------------+---------------------+
|
2006-12-22 22:52:22 +08:00
|
|
|
|
|
|
|
For example, if you build a debug version of your code for use
|
|
|
|
with debug versions of the static runtime library and the
|
2017-10-21 22:44:55 +08:00
|
|
|
STLPort standard library,
|
|
|
|
the tag would be: ``-sgdp``. If none of the above apply, the
|
2006-12-22 22:52:22 +08:00
|
|
|
ABI tag is ommitted.
|
|
|
|
|
2017-10-21 22:44:55 +08:00
|
|
|
``-x86``
|
|
|
|
*Architecture and address model tag*: in the first letter, encodes the architecture as follows:
|
|
|
|
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|Key |Architecture |Boost.Build option |
|
|
|
|
+=====+==================+=====================+
|
|
|
|
|``x``|x86-32, x86-64 |architecture=x86 |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|``a``|ARM |architecture=arm |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|``i``|IA-64 |architecture=ia64 |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|``s``|Sparc |architecture=sparc |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|``m``|MIPS/SGI |architecture=mips* |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|``p``|RS/6000 & PowerPC |architecture=power |
|
|
|
|
+-----+------------------+---------------------+
|
|
|
|
|
|
|
|
The two digits following the letter encode the address model as follows:
|
|
|
|
|
|
|
|
+------+------------------+---------------------+
|
|
|
|
|Key |Address model |Boost.Build option |
|
|
|
|
+======+==================+=====================+
|
|
|
|
|``32``|32 bit |address-model=32 |
|
|
|
|
+------+------------------+---------------------+
|
|
|
|
|``64``|64 bit |address-model=64 |
|
|
|
|
+------+------------------+---------------------+
|
|
|
|
|
2006-12-22 22:52:22 +08:00
|
|
|
``-1_34``
|
|
|
|
*Version tag*: the full Boost release number, with periods
|
|
|
|
replaced by underscores. For example, version 1.31.1 would be
|
|
|
|
tagged as "-1_31_1".
|
|
|
|
|
|
|
|
``.lib``
|
|
|
|
*Extension*: determined according to the operating system's usual
|
2006-12-23 00:26:47 +08:00
|
|
|
convention. On most unix-style platforms the extensions are
|
|
|
|
``.a`` and ``.so`` for static libraries (archives) and shared
|
|
|
|
libraries, respectively. On Windows, ``.dll`` indicates a shared
|
2008-12-22 01:44:33 +08:00
|
|
|
library and ``.lib`` indicates a
|
2006-12-23 00:26:47 +08:00
|
|
|
static or import library. Where supported by toolsets on unix
|
|
|
|
variants, a full version extension is added (e.g. ".so.1.34") and
|
|
|
|
a symbolic link to the library file, named without the trailing
|
|
|
|
version number, will also be created.
|
2006-12-22 22:52:22 +08:00
|
|
|
|
2007-04-28 09:35:31 +08:00
|
|
|
.. .. _Boost.Build toolset names: toolset-name_
|
2006-12-22 22:52:22 +08:00
|
|
|
|
2017-04-05 06:25:39 +08:00
|
|
|
__ ../../libs/python/doc/html/building/python_debugging_builds.html
|
2006-12-22 22:52:22 +08:00
|
|
|
|