Re: GTK+ modularization


Matthias Clasen wrote:
> This has been discussed a bit at Guadec; and I have started looking into
> what it would take to allow compiling GTK+ with certain subsets of
> widgets. 
> My current patch defines a small number of optional subsets:
> * broken: widgets covered by GTK_ENABLE_BROKEN
> * deprecated: widgets covered by GTK_DISABLE_DEPRECATED
> * specialized: some widgets which turned out to be too specialized to be
> of general use; e.g. GtkCurve, GtkAspectFrame, GtkRuler
> * printing: the new printing support in 2.10
> * recent: the new recent files support in 2.10

this sounds pretty good to me for two reasons:

- You can remove quite some bits that are usually not necessary if you don't use
GTK on a desktop type machine but it still makes it possible to turn some
features on that might be used in special cases.

- The limited number of choices makes it not to complicated to work with the
different variants of the library you can have now.

> Omitting all optional subsets yields a 16% smaller,
> omitting only broken, deprecated and specialized still comes up 10%
> smaller - I'm not entirely convinced that these numbers justify the
> effort...

That's indeed less than i expected. If it is not too complicated to integrate
and maintain such a modification i would vote for it even if we don't gain that
much. Some percent may be much if libgtk-x11 uses a major share of your memory.

> I don't think we need runtime checks for included subsets, since a
> missing subset will almost always prevent successful linking anyway.
> But maybe the .pc should have some variables that can be used to check
> for subsets.

If we would start to use it this might be a great chance to get rid of all the
use of deprecated stuff in GPE and other applications useful on mobile devices.
I like this idea :-)



The dream of yesterday                  Florian Boor
is the hope of today                    Tel: +49 271-771091-14
and the reality of tomorrow.            Fax: +49 271-771091-19
[Robert Hutchings Goddard, 1904]        florian boor kernelconcepts de

1D78 2D4D 6C53 1CA4 5588  D07B A8E7 940C 25B7 9A76

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