On 09/15/16 19:45, Andrey Semashev wrote:
On 09/15/16 19:04, Edward Diener wrote:
I don't know how to resolve a PR for uuid ( https://github.com/boostorg/uuid/pull/11 ).
I've added a comment to the PR.
If a library exists only as a DLL and not as a static library should BOOST_ALL_NO_LIB still be considered in effect ?
My viewpoint is 'no' but the person who created the PR believes that the BOOST_ALL_NO_LIB config macro should turn off any #pragma auto-linking in code even when their is no other way to use a library other than as a shared library.
I think it doesn't matter whether auto-linking drings in a static or a shared library - you can't even tell at this point. My understanding that the macro is supposed to turn auto-linking completely off.
That said, as I described in the comment, this may break things when a reader-only library with external dependencies,
That should be "header-only".
such as Boost.UUID, is used in a copmilable Boost library. When Boost libraries are built BOOST_ALL_NO_LIB is always defined (presumably, to allow Boost.Build manage dependencies itself?), so the external depenency of Boost.UUID would be missing.
I think we should (a) decide if BOOST_ALL_NO_LIB needs to be defined while building Boost and (b) if it does, provide a way for users to disable auto-linking while it is still partially enabled in cases like Boost.UUID.