Re: Dependency libraries and ABI

James Henstridge wrote:
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.

Yes, it is possible with relatively minor pain. I would suggest that if people here are really worried about Xft2 portability because it's not going to be on systems for a while, ship Xft2 with Gtk2. It doesn't require any server side changes and is relatively self contained. It's a relatively simple solution that's going to make life for Gtk2 users much easier in the future.

It solves the pkg-config problems, because we don't have to include it in the link line (it's already in the library) and when it does make it onto the system, pkg-config can just start spitting out the dependency for developers. Current apps won't be affected either since the gtk2 library can pull in the dependency directly. It's a real win-win there.

There are the usual problems, though. It means more code duplication as time goes on because more and more systems will include Xft2. However, I think this is a relatively minor issue since system distributors will be able to keep full control over the Xft2/Gtk2 relationship and as long as you can build Gtk2 both with and without the local Xft2 copy, things should be OK. We can punt problem to distributors in a way that app developers won't suffer and in the long run, I think that it actually makes life easier for the distributors as well since it makes app compatibility easier.

All you need to add to get Xft working is:


and you've solved your compatibility problems for your users and made life easier both in the long and short term for distributors. Those aren't small but they aren't huge, either.

FYI, this is what I've been working on for Mozilla. As a side note I would _strongly_ recommend that you guys consider doing this for Gtk2 for completely selfish reasons. One of the big problems that I'm about to run into is that Mozilla needs Xft2 and if Gtk2 uses Xft1 then you will have AA fonts in Mozilla with Gtk1.2 but not with Gtk2. Ironic, eh?


Christopher Blizzard

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