$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.
John.