
David Abrahams <dave@boost-consulting.com> writes:
With respect to http://www.boost-consulting.com/boost/more/separate_compilation.html, I note that:
* It needs to be updated for BBv2
* It has a rationale section called "Why static linking by default?" but that's the first mention of static linking in the document. Is there a section missing?
I now see from reading between the lines that if we follow the prescription in this file, auto-linking will be disabled unless BOOST_MYLIB_DYN_LINK is #defined. However, it doesn't say whether BOOST_MYLIB_DYN_LINK should be #defined by default. I think this should be clarified. More to the point, I question our choice of *not* auto-linking by default. The latest "Getting Started" guide describes how selecting the right library to link with can be problematic, and how auto-linking relieves most of that burden. It seems misguided to ask newbie users to add BOOST_ALL_DYN_LINK (or something) to the command-line when they want the convenience of auto-linking just so that people writing real applications will get their usual preference for static or dynamic linking without adding -D to the command line. I think the latter group can be assumed to be more sophisticated and better able to handle a tiny bit of complexity in the build configuration. I strongly favor making things as easy as possible for the newbie. Comments? -- Dave Abrahams Boost Consulting www.boost-consulting.com