httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wilfredo Sanchez <>
Subject Re: Configuration...
Date Fri, 10 Nov 2000 19:49:48 GMT
On Thursday, November 9, 2000, at 02:33 PM, wrote:

> > >     Are there any platforms where shared library != DSO? If there 
> > >     are, does libtool take care of the difference? 
> >  
> > Well, a shared library is, well, a shared library. It's not a DSO 
> > nor really is it tied to DSO. shared libs are a linker/loader 
> > "trick" to allow programs to share object files at runtime. 
> > But the libraries need to exist. DSOs are different beasts 
> > totally where object code is added or deleted on the fly and 
> > the executable manages. The concepts are similar, and DSOs 
> > sort of extend the functionality that shared libs implement, 
> > but shared libs != DSOs. 
> To add to this with a concrete example.  Rhapsody, and no libtool doesn't 
> handle this. 

  Mach-O shared libraries are a different type of binary (MH_DYLIB) than a
Mach-O loadable bundle (MH_BUNDLE).  Mach-O is used on NeXTStep, OpenStep,
Rhapsody, and Mac OS X.  (Though I don't think NeXTStep has the dynamic
loader (dyld), so it probably doesn't apply here.)

  The reasons for that are valid ones, but justifying it here isn't terribly
relevant; the fact is that this is the case, and we need to deal with it.

  As to libtool: it does have an option (-module) to specify that you are
building a loadable module, as opposed to a shared library.  Rather
surprising, since nobody uses it, but someone did see this coming.  I do
have patches to libtool (as yet unsent, will fix soon) which make libtool
mostly work on Mac OS X and Rhapsody, and can probably be trivially extended
to cover OpenStep.  It builds PHP correctly, but I haven't tried Apache 2.0

  Previously, libtool had been patched to either build shared libraries or
modules, but not both.  The modules-only patch was was Sascha used.

  So this issue isn't a big one.  But I still hate libtool.  :)  Debugging
libtool was a real bitch, where adding dyld support to 1.3 was rather
straightforward, and I knew right away what was going on.  The problem with
libtool is that is puts a lot of cruft between you and what you are trying
to do, which is fine until something breaks.


Wilfredo Sánchez,
Open Source Engineering Lead
Apple Computer, Inc., Core Operating System Group
1 Infinite Loop, Cupertino, CA 94086, 408.974-5174

View raw message