From: John Maddock (john_at_[hidden])
Date: 2006-12-11 11:52:32
David Abrahams wrote:
> Oh, but that brings up another issue. The default of static linking
> doesn't make sense for Boost.Python: if you link your extension module
> statically it will be bigger than necessary and you'll give up an
> important feature of the library, which allows multiple extension
> modules to interoperate with the same wrapped C++ types.
Absolutely, there is no one policy that fits all.
The rationale for the current behaviour was this: originally regex (from
which all this stuff originates) used dynamic linking by default when the
runtime was dynamic. It's safer that way should you be using regex from a
dll for example. However, it brought a persistent stream of user
complaints: mainly about deployment, all asking if static linking could be
the default. After I changed the complaints stopped, and I've never had one
about static linking by default being the wrong choice.
There is a (admittedly breif) note at the end of the "Why static linking by
default?" section to the effect that this might not be the best policy for
everyone. Boost.Python seems to me to be exactly the case where it's not
the best policy BTW.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk