On Mon, Jan 29, 2001 at 11:15:40AM -0500, Pierre Phaneuf wrote:
> Ari Heitner wrote:
> 
> > And if that's the approach, the mozilla shared objects need to have
> > appropriately versioned names, to allow multiple installs (even if you put
> > mozilla in separate dirs by version, you need a way to let the linker link
> > mozilla-dependent programs to the right libraries).
> 
> Note that it isn't the linker that gets libraries in the components
> directory, it's XPCOM itself, using dlopen (or whatever the platform
> uses, through NSPR).
> 
> In fact, that is one amusing detail with XPCOM, the name of the library
> doesn't matter at all! It will survey all the libraries at
> autoregistration time and will get components from whatever module
> (library) they are in...

That's the whole point. In the COM framework, you don't know what libraries
the code you depend on resides in until runtime. This has a key problem: you
can't tell if you've resolved your dependencies at install time!

The result: software that doesn't run because of evil dependency errors.

> 
> > In windows ... I don't know a good way of doing this in windows :)
> 
> You do it just like in Unix, as Microsoft itself is doing with MFC
> (MFC30.DLL, MFC40.DLL, MFC42.DLL, etc) and the Visual Basic runtime DLLs
> (VBRUN300.DLL, etc).

It should be more widely done and allow for more descriptive versioning. 

Windows is *the same* as Unix in every major respect except the way the
distribution is managed :)




ari

Reply via email to