From: Daniel A. Steffen <steffen@ic...> - 2001-09-05 09:20:05
At 11:03 +0200 on 5/9/01, Jack Jansen wrote:
> > The other change this patch makes is to switch shared library building
>> from using Mac OS X bundles - which have the down side that you can ONLY
>> load them, you can't link against them - to Mac OS X dylib's, which you
>> can both load on demand, AND link against.
>what was the problem with linking against bundles? I had heard reports that
>both Tcl and Perl decided not to go with bundles on MacOSX, but as I was
>already half-way done for Python I decided to push ahead anyway, and I have
>found no problems, it all works fine.
dynamic loading was working fine with bundles, the disadvantages were
one - that it was harder to integrate bundles into the standard tcl
extensions architecture TEA makefiles and
two - more importantly, that sometimes tcl extension authors want to
offer the option of link against the extension libraries instead of
dynamically loading them e.g. to make available additional private
symbols in addition to the standard blah_Init and blah_SafeInit that
the dynamic loader binds.
this means the extension needs to be in the standard shared library
format .dylib so that the linker understands it... otherwise you
would need two copies of the file depending on use, one a dynamically
loadable bundle, the other a shared library to link against.
Mostly it was silly to use a nonstandard way to dynamically load code
when APIs became available to dynamically load shared libraries and
be closer to the way things work on other unices.
** Daniel A. Steffen ** "And now to something completely
** Department of Mathematics ** different" Monty Python
** Macquarie University ** <mailto:steffen@...>
** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/>