[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