How can I decode boost library name?

I tried to figure out what gd means in the name of the boost library, and I only found two other people looking for the same thing.

I suppose this should be a place where this is clearly documented, and I would like to find it.

  • mt - multitask, get it with bjam threading=multi
  • s - bjam runtime-link=static
  • g - use of debug versions of standard and supported libraries. which switch is bjam
  • d - debug bjam variant=debug

Update

How can I control which bjam switches control the options above? In fact, the only one I could not identify is g .

+42
c ++ boost bjam boost-build boost-bjam
Apr 26 '10 at 16:40
source share
3 answers

See Enlarge the initial windows in section 6.3 of naming and section 6.1 on Unix naming.

Those dealing with -mt and d are

 -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 interoperability with other compiled code. For each such feature, a single letter is added to the tag as listed in this table: Key Use this library when (Boost.Build option) s linking statically to the C++ standard library and compiler runtime support libraries. (runtime-link=static) 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. (variant=debug) p using the STLPort standard library rather than the default one supplied with your compiler. (stdlib=stlport) 
+46
Apr 26 '10 at 16:47
source share

In the Boost documentation for the http://www.boost.org/doc/libs/1_35_0/more/getting_started/windows.html#library-naming convention:

-mt Topic tag: indicates that the library was built with support for multithreading. Libraries built without multithreading support can be identified by the absence of -mt.

-d ABI tag: Encodes parts that affect how the library interacts with other compiled code. For each such function, one letter is added to the tag:

 Key Use this library when:
 s linking statically to the C ++ standard library and compiler runtime support libraries.
 g using debug versions of the standard and runtime support libraries.
 y using a special debug build of Python.
 d building a debug version of your code.
 p using the STLPort standard library rather than the default one supplied with your compiler.
 n using STLPort deprecated "native iostreams" feature.

For example, if you are creating a debug version of your code for use with the 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 actions apply, the ABI tag is not specified.

+10
Feb 22 '13 at 8:00
source share

The basic set of built-in functions that you specify on the command line (feature = value) is described in the BBv2 documentation (see built-in functions ). I don’t know if we have updated the getting started guide in the upcoming version 1.43, but there is a wonderful documentation change to add these built-in parameter descriptions to the getting started guide for faster access.

0
Apr 27 '10 at 12:27
source share



All Articles