Run-time flavors of Boost (aka lib suffix / runtime-options)
Hello list, Boost libraries often ship compiled in various different "flavors" (compiled with different runtime-options). First off, is there an official place where this is documented? I didn't find any, besides the header `boost/config/auto_link.hpp'. Based on this header, I tried to document the suffix used by Boost libraries as follows:
A suffix is one or more of the following letters: sgdpn (in that order). s = static runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' must always be used along with `p'). Additionally, it can start with `mt-' to indicate for multi-thread builds.
Is this accurate? What is a `static runtime'? My guess is that `-s' is Windows-specific, because on Windows it's common to see both shared libraries and static libraries using the same naming scheme `libfoo.lib' (because in the shared library case, `libfoo.lib' is not a directly shared library but rather an import library), can anyone confirm that? This entails that for most UNIX-like OSes, the `-s' variant doesn't exist, it's the `libfoo.a' static archive that is used instead, is that correct? Cheers, -- Benoit Sigoure aka Tsuna EPITA Research and Development Laboratory
On Dec 13, 2007, at 10:37 AM, Benoit Sigoure wrote:
Hello list,
Boost libraries often ship compiled in various different "flavors" (compiled with different runtime-options). First off, is there an official place where this is documented? I didn't find any, besides the header `boost/config/auto_link.hpp'. Based on this header, I tried to document the suffix used by Boost libraries as follows:
A suffix is one or more of the following letters: sgdpn (in that order). s = static runtime, d = debug build, g = debug/diagnostic runtime, p = STLPort build, n = (unsure) STLPort build without iostreams from STLPort (it looks like `n' must always be used along with `p'). Additionally, it can start with `mt-' to indicate for multi-thread builds.
Is this accurate? What is a `static runtime'? My guess is that `-s' is Windows-specific, because on Windows it's common to see both shared libraries and static libraries using the same naming scheme `libfoo.lib' (because in the shared library case, `libfoo.lib' is not a directly shared library but rather an import library), can anyone confirm that? This entails that for most UNIX-like OSes, the `-s' variant doesn't exist, it's the `libfoo.a' static archive that is used instead, is that correct?
Nobody knows how the suffix thing works? Shall I try the Boost ML instead of Boost-Users? -- Benoit Sigoure aka Tsuna EPITA Research and Development Laboratory
Benoit Sigoure wrote:
Nobody knows how the suffix thing works? Shall I try the Boost ML instead of Boost-Users?
Have you seen these descriptions? http://boost.org/more/getting_started/windows.html#library-naming http://boost.org/more/getting_started/unix-variants.html#library-naming
Benoit Sigoure wrote:
On Dec 13, 2007, at 10:37 AM, Benoit Sigoure wrote:
Hello list,
Boost libraries often ship compiled in various different "flavors" (compiled with different runtime-options). First off, is there an official place where this is documented? I didn't find any, besides the header `boost/config/auto_link.hpp'. Based on this header, I tried to document the suffix used by Boost libraries as follows:
Nobody knows how the suffix thing works? Shall I try the Boost ML instead of Boost-Users?
Try this: http://www.boost.org/more/getting_started/windows.html#library-naming
participants (3)
-
Andrew Holden
-
Benoit Sigoure
-
Nat Goodspeed