
Peter Dimov wrote:
Vladimir Prus wrote:
Per:
https://svn.boost.org/trac/boost/ticket/2899
we have a problem that the default set of libraries build on Windows does not match autolink defaults, which causes confusion. In that issue, John say that the only sensible solution for Windows is to build all possible variants by default (IIRC, a total of 6). I would like other Windows developers to comment if that is sensible solution. In particular, is it best to build all possible variants that user might need, or build just the variants that autolink needs by default, so that user can build other later.
There is no autolink default (except for link=static).
I have used "autolink default" as a shorthand for "whatever variant is picked by autolink for an IDE project with default options"
Autolink links to whatever matches the current compiler options. For VC++ 7.1 or earlier, this means 6 variants:
* runtime-link=static, threading=(single|multi), variant=(debug|release) * runtime-link=dynamic, threading=multi, variant=(debug|release)
For VC++ 8.0 or later, the variants are four, as the runtime is always multithreaded:
* runtime-link=(static|dynamic), threading=multi, variant=(debug|release)
The default in the IDE for new projects is, I believe,
* runtime-link=dynamic, threading=multi, variant=(debug|release)
Is 'debug' vs 'release' queried at project creation, or two variants are created automatically?
but VC++8 DLL RTL deployment is somewhat painful so most people immediately switch to static (or forget and later switch to static, cursing quietly, when it's reported to them that the program doesn't start with initialization error 0xC00something.)
Hmm. I get an impression that most folks who report issues don't have mt-gd variant, which is dynamic runtime, as far as I can see. And given that autolink defaults to static linking, I suspect that the most reasonable default variant on Windows would be: link=static runtime-link=dynamic threading=multi variant=debug After all, a person who know to switch project to runtime-link=static is likely to realize he wants to rebuild Boost with proper options. And here's a crazy idea -- maybe the autolink can output the message saying that Boost.Build option it assumes? It has this information anyway. - Volodya
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost