[Fwd: GTK+ modularization]

Florian Boor <[email protected]> Wed, 12 Jul 2006 02:08:36 +0200
Newsgroups gmane.comp.handhelds.gpe
Message-ID <[email protected]>
Hi,

some interesting things are going on.... the actual results are not that exiting
but sometimes every byte matters.

Greetings

Florian


-------- Original Message --------
Subject: GTK+ modularization
Date: Tue, 11 Jul 2006 02:32:51 -0400
From: Matthias Clasen <[email protected]>
Organization: Red Hat
To: [email protected]

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

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

There is a number of issues with the patch
- specialized currently has a dependency on deprecated, since
GtkInputDialog uses GtkOptionMenu. Replacing them with GtkComboBox is
somewhat risky, since the GtkInputDialog struct exposes members pointing
to the option menus (although they are not marked as public).
- it turns out that we never deprecated the old file selector, at
 it is not protected by GTK_DISABLE_DEPRECATED.
- the "specialized" subset is somewhat weakly defined.
- the patch adds gtkconfig.h which has defines for the included subsets.
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.
- The docs need to be updated to explain the subsets, and tell for
each widget in which subset it belongs.

Comments ?




-- 
The dream of yesterday                  Florian Boor
is the hope of today                    Tel: 0271-771091-14
and the reality of tomorrow.            Fax: 0271-771091-19
[Robert Hutchings Goddard, 1904]        [email protected]

6C 44 30 4C 43 20 6B 61  16 07 0F AA E6 97 70 A8