summaryrefslogtreecommitdiff
path: root/more/getting_started/detail/library-naming.rst
diff options
context:
space:
mode:
Diffstat (limited to 'more/getting_started/detail/library-naming.rst')
-rw-r--r--more/getting_started/detail/library-naming.rst77
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
+