[Xorg] Xevie addition to libXext

Owen Taylor otaylor at redhat.com
Mon Aug 2 06:52:16 PDT 2004


On Sat, 2004-07-31 at 17:05, Keith Packard wrote:
> Around 22 o'clock on Jul 31, Matthieu Herrb wrote:
> 
> > > Added files:
> > >       xc/lib/Xext/:
> > >         Xevie.c 
> > 
> > This addition requires a minor library revision number increment.
> 
> I think it's better to have separate libraries for each extension; can we 
> do that in this case?  What do other people think?

There are tradeoffs either way. Separate libraries has the (somewhat
small) advantage that dependencies of apps on the new library are more
visible to tools such as RPM. And does help keep maintainership modular.

But anybody considering such a split has to be aware of a fundamental
property of ELF shared libraries: adding symbols does not increase
the per-symbol cost of resolution, adding libraries does.

In rough terms ELF symbol resolution is specified as a linked list of
hash tables.

Two questions:

 * Is the code going to be maintained separately? Is it going to have
   separate releases? separate security fixes? a different set of
   people handling bug reports. If code should be in a different
   package, it needs to be in a separate shared library. I'm not
   sure that the answer to this should ever be yes for such a small
   chunk of code as XEVIE.

 * Does the code have different sets of dependencies? If a library
   brings in new dependency libraries that's often a good reason
   to keep it separate. (E.g., libpangoxft is a separate shared
   library from libpango because it pulls in the X libraries.)

If the answer to both is no, then making a separate shared object
seems to have little value.

Regards,
						Owen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20040802/99a888de/attachment.pgp>


More information about the xorg mailing list