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