On 25/07/2017 23:01, Peter Dimov via Boost wrote:
Niall Douglas wrote:
I think you're overcomplicating things.
If a header only library has a dependency on a non-header only library capable of either static or shared usage, then the header only library simply advertises itself as having static or shared usage only. Not header only.
In other words, header only targets means "nothing to link if you use this". Does this make sense now?
The implication is that when a library changes from header-only to static/shared, all dependent libraries need to change themselves to static/shared too.
I'm not sure if this is a question or a statement. But in either case, yes it does. If the final library being consumed is static, all dependencies are static or header only. If the final library being consumed is shared, all dependencies are shared or header only. 95% of end users are probably okay with this default. Unusual needs like people who want static libraries of shared-ready code suitable for a final assembly into some monolithic shared library are likely niche users we need not consider deeply. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/