• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. Copyright David Abrahams 2006. Distributed under the Boost
2.. Software License, Version 1.0. (See accompanying
3.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
4
5In order to choose the right binary for your build configuration
6you need to know how Boost binaries are named.  Each library
7filename is composed of a common sequence of elements that describe
8how it was built.  For example,
9``libboost_regex-vc71-mt-d-x86-1_34.lib`` can be broken down into the
10following elements:
11
12``lib``
13  *Prefix*: except on Microsoft Windows, every Boost library
14  name begins with this string.  On Windows, only ordinary static
15  libraries use the ``lib`` prefix; import libraries and DLLs do
16  not. [#distinct]_
17
18``boost_regex``
19  *Library name*: all boost library filenames begin with ``boost_``.
20
21``-vc71``
22   *Toolset tag*: identifies the toolset_ and version used to build
23   the binary.
24
25``-mt``
26   *Threading tag*: indicates that the library was
27   built with multithreading support enabled.  Libraries built
28   without multithreading support can be identified by the absence
29   of ``-mt``.
30
31``-d``
32   *ABI tag*: encodes details that affect the library's
33   interoperability with other compiled code.  For each such
34   feature, a single letter is added to the tag:
35
36     +-----+------------------------------------------------------------------------------+---------------------+
37     |Key  |Use this library when:                                                        |Boost.Build option   |
38     +=====+==============================================================================+=====================+
39     |``s``|linking statically to the C++ standard library and compiler runtime support   |runtime-link=static  |
40     |     |libraries.                                                                    |                     |
41     +-----+------------------------------------------------------------------------------+---------------------+
42     |``g``|using debug versions of the standard and runtime support libraries.           |runtime-debugging=on |
43     +-----+------------------------------------------------------------------------------+---------------------+
44     |``y``|using a special `debug build of Python`__.                                    |python-debugging=on  |
45     +-----+------------------------------------------------------------------------------+---------------------+
46     |``d``|building a debug version of your code. [#debug-abi]_                          |variant=debug        |
47     +-----+------------------------------------------------------------------------------+---------------------+
48     |``p``|using the STLPort standard library rather than the default one supplied with  |stdlib=stlport       |
49     |     |your compiler.                                                                |                     |
50     +-----+------------------------------------------------------------------------------+---------------------+
51
52   For example, if you build a debug version of your code for use
53   with debug versions of the static runtime library and the
54   STLPort standard library,
55   the tag would be: ``-sgdp``.  If none of the above apply, the
56   ABI tag is ommitted.
57
58``-x86``
59  *Architecture and address model tag*: in the first letter, encodes the architecture as follows:
60
61     +-----+------------------+---------------------+
62     |Key  |Architecture      |Boost.Build option   |
63     +=====+==================+=====================+
64     |``x``|x86-32, x86-64    |architecture=x86     |
65     +-----+------------------+---------------------+
66     |``a``|ARM               |architecture=arm     |
67     +-----+------------------+---------------------+
68     |``i``|IA-64             |architecture=ia64    |
69     +-----+------------------+---------------------+
70     |``s``|Sparc             |architecture=sparc   |
71     +-----+------------------+---------------------+
72     |``m``|MIPS/SGI          |architecture=mips*   |
73     +-----+------------------+---------------------+
74     |``p``|RS/6000 & PowerPC |architecture=power   |
75     +-----+------------------+---------------------+
76
77  The two digits following the letter encode the address model as follows:
78
79     +------+------------------+---------------------+
80     |Key   |Address model     |Boost.Build option   |
81     +======+==================+=====================+
82     |``32``|32 bit            |address-model=32     |
83     +------+------------------+---------------------+
84     |``64``|64 bit            |address-model=64     |
85     +------+------------------+---------------------+
86
87``-1_34``
88  *Version tag*: the full Boost release number, with periods
89  replaced by underscores. For example, version 1.31.1 would be
90  tagged as "-1_31_1".
91
92``.lib``
93  *Extension*: determined according to the operating system's usual
94  convention.  On most unix-style platforms the extensions are
95  ``.a`` and ``.so`` for static libraries (archives) and shared
96  libraries, respectively.  On Windows, ``.dll`` indicates a shared
97  library and ``.lib`` indicates a
98  static or import library.  Where supported by toolsets on unix
99  variants, a full version extension is added (e.g. ".so.1.34") and
100  a symbolic link to the library file, named without the trailing
101  version number, will also be created.
102
103.. .. _Boost.Build toolset names: toolset-name_
104
105__ ../../libs/python/doc/html/building/python_debugging_builds.html
106
107