Re: Dependency libraries and ABI



Keith Packard wrote:

Around 14 o'clock on Feb 27, Havoc Pennington wrote:

This situation really sucks... what does Qt do about this? dlopen?


Qt hasn't faced Xft version 2 yet. I have patches ready for them, but they haven't merged. Qt should have no problem with this; they support printing with their API and apps don't generally go around the toolkit to get at the underlying Xft library.

I'm open to suggestions on how XFree86 can help in this; the main goal is to get people moved over to Xft2 so that we can start assuming client-side text on all X servers, and so that Xft doesn't have to go through ABI update hell again. Xft2 exposes a *lot* less of the internals which should make binary compatible upgrades possible in the future.

One suggestion here would be to transition Gtk+ to Xft2 as soon as feasible
so that fewer apps become dependent on the old library.  As we've seen few
Gtk+ 1.2 apps use Xft, I think we'll be in better shape than you fear, as
long as Gtk+ 2.0 doesn't encourage people to use Xft1.

The patches needed to move Gtk+ 2.0 to Xft2 are minor; Xft2 is largely source compatible with Xft1, many of the changes are designed to simply take advantage of new features of Xft2 that improve performance or functionality. The largest change eliminates miniXft as Xft2 uses Fontconfig instead of an internal font configuration mechanism.

Note that Xft1 will be getting ported to Fontconfig in the near term for
release with XFree86 4.3 -- the alternative leaves yet another incompatible
font configuration system for another year.

Is it possible to build Xft2 outside of the X source tree? If so, then maybe it would be okay to tell people that they needed to update their Xft in order to get AA text. Telling everyone to upgrade their X libs (which may involve building the whole X tree) sounds less likely to happen.

James.

--
Email: james daa com au
WWW:   http://www.daa.com.au/~james/






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]