Re: disabling GTK+ features to shrink GTK+

On Mon, Jun 14, 2010 at 5:16 PM, Matthias Clasen
<matthias clasen gmail com> wrote:
> On Mon, Jun 14, 2010 at 7:02 PM, Alberto Ruiz <aruiz gnome org> wrote:
>> 2010/6/14 Sam Thursfield <ssssam gmail com>:
>>> A more socially-minded approach would be to work on the problem of
>>> sharing a GTK+ runtime between all apps on a system. It's perhaps not
>>> an easy problem, due different requirements in versions and specific
>>> libraries, but it's a more long-term solution to the problem of GTK+'s
>>> big runtime than for each app using GTK+ on Windows to build and
>>> distribute their own incompatible versions.
>> That is just not how you ship stuff on Windows unfortunately, there is
>> no apt/zypper/yum like thing for Windows (though MS seems to be
>> working on that apparently).
>> tml and myself went through this problem again and again, even if
>> GTK+'s API is stable, guaranteeing GTK+'s ABI on Windows is just
>> impossible for several reasons, a common GTK+ runtime is just not the
>> way to go. Easing the bundling process of Gtk+ into a windows
>> app/installer, and reducing the amount of dependencies is the way to
>> go.
> That may be, but 'disable this random set of widgets I don't need'
> patches have very little chance of going upstream.

Disabling specific features is used elsewhere.  wxWidgets is  similar
to GTK+ in the context of being a toolkit for building cross platform
apps where on Windows each app typically includes it in the installer,
and wxWidgets has many configure options:

$ ./wxGTK-2.8.11/configure --help | grep enable | wc -l

Apparently one for each class:

  --enable-filepicker     use wxFilePickerCtrl class
  --enable-fontpicker     use wxFontPickerCtrl class
  --enable-gauge          use wxGauge class
  --enable-grid           use wxGrid class
  --enable-dataviewctrl   use wxDataViewCtrl class
  --enable-hyperlink      use wxHyperlinkCtrl class

In general having a robust feature set is great, but for specific apps
these unused features are bloat.


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