
Dmitry Goncharov <dgoncharov <at> unison.com> writes:
Thanks for your reply,
Gennadiy Rozental wrote:
1. This subject is discussed in length. Boost.Test opted for portability in between platform, instead of interchangeability between static and shared libraries. This is not a restriction, this is feature ;) Can't really see how interchangeability between static and shared libraries prevents portability between platforms.
The problem is that main function can't reside inside the shared library (at least not if portability is a concern), but it can inside the static one. Later was a default which we wanted to continue to employ. To properly support shared library usage variant I had to go with a bit different support scheme, with main function outside. Thus we came to the current state of affairs.
3. If answer is yes, do you ship your own makefiles? yes if yes, you can enforce specific library there. It is possible to enforce a specific library. It's also uncomfortable for the user.
How? I believe you only need to add -static in proper place in command line.
4. If not, you can use single header variant of UTF and do not depend on library at all. That's right. This will increase compilation time.
It's not like your users are going to build your test modules over and over. That's right, the users aren't going to build test modules over an over. The developer (e.g. me) builds tests modules over and over.
It should be trivial to have makefiles/test modules to support both variants, so that you will use shared library, and your users will use single header variant. Gennadiy