CVS Update: xc (branch: trunk)

Daniel Stone daniel at fooishbar.org
Tue Feb 1 16:50:38 PST 2005


On Tue, Feb 01, 2005 at 12:20:57PM -0500, Stuart Anderson wrote:
> On Tue, 1 Feb 2005, Keith Packard wrote:
> 
> >The mistake lies entirely in the libSM library which uses this symbol
> >without the express publication by libICE.  So, either libSM is fixed to
> >no longer need this symbol and it is removed from the unofficial public
> >API, or we acknowledge it as part of the public API by publishing it in
> >the header file.
> 
> I think the published API/ABI presented to an application, is the 
> combination
> of the public APIs for both of these libraries (and XLib, etc). One
> library using a private symbol from another is bad design, but from the
> ABI perspective, it's just an implementation details hidden on the other
> side of the published interface.

When you have to declare someone else's symbol in order to use it, you
have just lost.

> >No 'private' API should exist between libraries; that way madness lies.
> 
> I agree, but there has always been a lot of this going on, and not just
> in X libraries. If both of the libraries involved in this private API
> a provided from the same source, then it is just an implementation
> detail. Consider how much libpthread and libc know about each other.

Once we have a modular tree, 'same source' no longer holds true.  Also,
those are quite explicitly designed to be in lockstep, but cannot be
merged into one for obvious reasons.  That's the only reason why they're
separate, but co-dependent, libraries.

> Having a private API is bad, but promoting it to be Public, especially
> when it has no conceptual relation to the public API of the library,
> doesn't make things any better.

I still maintain that having libSM not use private, undeclared, symbols
is a far better thing.  But I will not touch these, or any, libraries
again if that's how consensus flows, so if you disagree with me and
feel you have the weight of xorg@ behind you, revert the commits.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.x.org/archives/xorg/attachments/20050202/a33a36e3/attachment.pgp>


More information about the xorg mailing list