Question on ABI tags and autolinking

Hi, I'm working on some cleanup of CMake's FindBoost module and had a few questions about Boost and it's ABI tags. 1. Are the ABI tags as defined on the webpage below always defined in this order in generated libraries? http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html#libra... 2. Regarding the "-s" ABI tag, the current CMake module has a deficiency and only searches for it under Windows and only after not being able to find a non "-s" library there. On other platforms it doesn't search for the "-s" at all. I'm curious what the defaults are for building Boost against static C/C++ system libraries using Boost's present build system? Does this happen on compilers other than VS? I just want to know if there is any history to this oddity or if it's just a bug. 3. Are "-p", "-n", and "-y" ABI tags persistent across all generated libraries filenames once one of them is enabled? In other words, the generated Boost library filenames vary only on "-s" (static runtime) , "-g" (debug standard/runtime libs) , and "-d" (debug build of boost library)? 4. None of this changes (or will change) under the CMake build of Boost, I trust? 5. Is there a consolidated list of Boost libraries online for which MSVC/Borland/etc. auto-linking is always against the shared library? I'd like to be able to link the end-user to a list of these, if possible. Thanks. -- Philip Lowman

AMDG Philip Lowman wrote:
I'm working on some cleanup of CMake's FindBoost module and had a few questions about Boost and it's ABI tags.
1. Are the ABI tags as defined on the webpage below always defined in this order in generated libraries? http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html#libra...
Yes.
2. Regarding the "-s" ABI tag, the current CMake module has a deficiency and only searches for it under Windows and only after not being able to find a non "-s" library there. On other platforms it doesn't search for the "-s" at all. I'm curious what the defaults are for building Boost against static C/C++ system libraries using Boost's present build system?
The default is not to build against the static runtime.
Does this happen on compilers other than VS? I just want to know if there is any history to this oddity or if it's just a bug.
The library selected needs to match the program.
3. Are "-p", "-n", and "-y" ABI tags persistent across all generated libraries filenames once one of them is enabled? In other words, the generated Boost library filenames vary only on "-s" (static runtime) , "-g" (debug standard/runtime libs) , and "-d" (debug build of boost library)?
It's possible to build any combination of libraries. For example, bjam link=static,shared runtime-link=static,shared debug release stdlib=stlport,native python-debugging=on,off
4. None of this changes (or will change) under the CMake build of Boost, I trust?
5. Is there a consolidated list of Boost libraries online for which MSVC/Borland/etc. auto-linking is always against the shared library? I'd like to be able to link the end-user to a list of these, if possible.
All libraries support both static and dynamic linking, although filesystem has a #error for the shared library on borland. In Christ, Steven Watanabe

On Tue, Mar 17, 2009 at 7:25 PM, <boost-request@lists.boost.org> wrote:
5. Is there a consolidated list of Boost libraries online for which MSVC/Borland/etc. auto-linking is always against the shared library? I'd like to be able to link the end-user to a list of these, if possible.
All libraries support both static and dynamic linking, although filesystem has a #error for the shared library on borland.
Yes, but I vaguely recall the MSVC autolinking choosing dynamic linking for certain libraries like Boost.python. Are all of these exceptions to the static libraries defined anywhere I can point the user to (is what I'm asking). Thanks for the help on the other questions. -- Philip Lowman

AMDG Philip Lowman wrote:
On Tue, Mar 17, 2009 at 7:25 PM, <boost-request@lists.boost.org> wrote:
All libraries support both static and dynamic linking, although filesystem has a #error for the shared library on borland.
Yes, but I vaguely recall the MSVC autolinking choosing dynamic linking for certain libraries like Boost.python. Are all of these exceptions to the static libraries defined anywhere I can point the user to (is what I'm asking).
Auto link can find either the static or shared libraries depending on macros. All libraries except python use static linking by default. I don't know of any page that says this explicitly. In Christ, Steven Watanabe
participants (2)
-
Philip Lowman
-
Steven Watanabe