diff options
Diffstat (limited to 'more/getting_started/detail/library-naming.rst')
-rw-r--r-- | more/getting_started/detail/library-naming.rst | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/more/getting_started/detail/library-naming.rst b/more/getting_started/detail/library-naming.rst new file mode 100644 index 0000000000..a92f3ddc4a --- /dev/null +++ b/more/getting_started/detail/library-naming.rst @@ -0,0 +1,77 @@ +.. 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, +``libboost_regex-vc71-mt-d-1_34.lib`` can be broken down into the +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`` + *Toolset tag*: identifies the toolset_ and version used to build + 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: + + +-----+------------------------------------------------------------------------------+---------------------+ + |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. | | + +-----+------------------------------------------------------------------------------+---------------------+ + + For example, if you build a debug version of your code for use + with debug versions of the static runtime library and the + STLPort standard library in “native iostreams” mode, + the tag would be: ``-sgdpn``. If none of the above apply, the + ABI tag is ommitted. + +``-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 + 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 + library and ``.lib`` indicates a + 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. + +.. .. _Boost.Build toolset names: toolset-name_ + +__ ../../libs/python/doc/building.html#python-debugging-builds + |