xlib + xcms
Enrico Weigelt
weigelt at metux.de
Thu Mar 23 18:25:35 PST 2006
* Bill Crawford <billcrawford1970 at gmail.com> schrieb:
<snip>
> > Does it break the ABI if old programs which would segfault now simply
> > fail to start?
>
> If they linked to it, but that code was never actually called .. yes.
hmm, is it usual to link in functions which are never called ?
Could anyone, who has access to a lot of older applications do
an nm over them to see whether anyone links in these functions ?
And is there any other source (yeah, I did not yet read the spec)
where we could find out if anyone could rely on them ?
BTW: we also could make it configurable and provide it as an
separate library too. I'll do the job porting some libs/apps
(in fact I only know of cairo) to the new lib.
Perhaps we could go this way:
#1: specify a complete new library interface (with slightly
non-conflicting symbols, ie. by using some prefix).
#2a: write a small wrapper which library which provides the new
interface (at least at source) and sits on top of old xlib
#2b: write an separate, new, implementation outside of xlib
3: start porting new applications to the new interface.
they just ask pkg-config where they should link against, etc.
Once we're at this point, it's the choice of the distributor /
sysop how to build evryting. I personally would build xlib w/o
xcms, but instead the separate libxcms and link the other packages
(ie cairo) against this one. Others, requiring to get very old
binary code running, could compile xlib w/ xcms built-in and use
the small wrapper for those packages using the new interface.
Okay, we maybe have a little bit of code duplication with that,
but I'm sure we can handle this. Maybe its a good idea putting
the core stuff in another separate package which creates a static
library, and this one is linked-in both by xcms'ed xlib and libxcms.
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
rsync://sources.metux.de/metux-patches
---------------------------------------------------------------------
More information about the xorg
mailing list