On Thu, Jun 22, 2017 at 12:21 AM, Niall Douglas via Boost < boost@lists.boost.org> wrote:
On 21/06/2017 22:51, Peter Dimov via Boost wrote:
Niall Douglas wrote:
But even if true, users of static library A that uses Asio will not necessarily want a header-only Boost.System, which means that static library A has to have a way to link to Asio "statically".
Surely users of static library A that uses ASIO will use the static library edition of ASIO and the static library edition of System?
Eh. All right.
Static library A uses header-only library B uses non-header-only library C. Are we clear now. :-)
Oh sure. But if that were the case, there is likely a very good reason for it, so it's desirable to be that way.
The real problem is when the end user doesn't want the specific combination of hl-sl-dl chosen by the library devs for them. What I was saying what to supply all-::hl, all-::sl and all-::dl where possible, and that probably maps onto what 98% of end users will want. The number which want some weird mashup for ::hl, ::sl and ::dl variants is likely very low.
I can only speak for myself here. What my usecases are: - I don't care whether I got a combination of dynamic and static (which means I am on a platform supporting dynamic libraries) - I want a build with everything static That is, when I configure/run the build, I tell the build system this. Usually via the command line, in a similar way I set the compiler, additional flags and paths to dependencies. For CMake, this is, as far as I am concerned, done by setting specific cache variables, with autotools and b2, I pass the approrpriate flags. This is then honored by the specific build scripts. YMMV, of course. I am still unclear if this is the wrong approach in a modern, declarative world, or if there's a better approach. If there is one, which would it be?
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/ mailman/listinfo.cgi/boost