Bug 87126 - [Gtk][Meta] Reduce the number of configuration options
Summary: [Gtk][Meta] Reduce the number of configuration options
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on: 87509 87664 96621 99271 99272 104793 105327 105564
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-22 06:22 PDT by Zan Dobersek
Modified: 2013-02-07 08:55 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2012-05-22 06:22:30 PDT
There are currently 74(!) configuration options available when running ./configure script. That's quite a lot. Though, on a closer inspection, it turns out some of these actually don't apply anymore and even more are provided for features that are currently completely unsupported by the Gtk port, meaning enabling the configuration option is more likely to cause a compilation failure than introduce a properly supported feature.

I've compiled a spreadsheet of all the configuration options with notes for most of them about whether they're actually needed or if they're of any use:
https://docs.google.com/spreadsheet/ccc?key=0AvP3bJqGv0uXdHhWdVEtcEg0WjNoUndBTEFXczRaWlE

Here's a more verbose explanation of the coloring legend, based on the code numbers:
#1 - these configuration options should currently not be modified, but can be removed later (for example --with-gstreamer or --with-gtk after support for older versions is dropper)
#2 - these configuration options introduce external dependencies when enabled, so they should not be removed
#3 - These are two SVG features, the configuration options should remain as there has always been interest for disabling the SVG code
#4 - these are well-supported features that could be enabled by default without an elegant option to disable them when compiling
#5 - these are well-supported features that could be enabled by default but are possible to disable at runtime (through the RuntimeEnabledFeatures class, though there's no API in Gtk port that could do that)
#6 - these configuration options guard features that are currently not supported by the Gtk port so it might make sense to remove them. They can be added again when the support is established and if necessary (if the support introduces a new dependency etc.)
#7 - these configuration options do nothing anymore as in most cases the define they were switching was removed from the code

I think configuration options under #6 and #7 can be removed soon, while options under #4 and #5 could require some discussion on whether they are to be removed and if so, whether they should be enabled by default or no.

Other than that, please review the spreadsheet and update it where necessary. I'll keep this a meta bug if nobody objects, creating new bug entries for proper changes.
Comment 1 Martin Robinson 2012-05-22 11:43:04 PDT
Awesome spreadsheet. I agree almost totally with your assessment of the options that can be removed. In the end, they'd just be removed from the configuration interface. They'd still be configurable by editing files.
Comment 2 Zan Dobersek 2013-02-07 08:55:42 PST
With the configure.ac finally cleaned up I'm calling it done for this bug.