CVS Update: xc (branch: trunk)
Stuart Anderson
anderson at netsweng.com
Tue Feb 1 09:20:57 PST 2005
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.
> 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.
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.
Stuart
Stuart R. Anderson anderson at netsweng.com
Network & Software Engineering http://www.netsweng.com/
1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F
BD03 0A62 E534 37A7 9149
More information about the xorg
mailing list