Boost logo

Boost :

Subject: Re: [boost] [uuid] PR to remove auto-linking to advapi32 when BOOST_ALL_NO_LIB is defined
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2016-09-15 12:47:00


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.
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk