Bug 87664 - [Gtk] Remove configuration options for features that are not supported by the Gtk port
Summary: [Gtk] Remove configuration options for features that are not supported by the...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Zan Dobersek
URL:
Keywords:
: 50954 94500 (view as bug list)
Depends on:
Blocks: 87126
  Show dependency treegraph
 
Reported: 2012-05-28 07:38 PDT by Zan Dobersek
Modified: 2012-09-06 10:58 PDT (History)
5 users (show)

See Also:


Attachments
Patch (27.11 KB, patch)
2012-05-28 08:06 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff
Patch (32.71 KB, patch)
2012-09-06 01:31 PDT, Zan Dobersek
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zan Dobersek 2012-05-28 07:38:11 PDT
Remove configuration options for futures that are not supported by the Gtk port - there's no need for them currently. They should be readded when the support for a specific feature is added and introduces a new dependency.
Comment 1 Zan Dobersek 2012-05-28 08:06:34 PDT
Created attachment 144361 [details]
Patch
Comment 2 Zan Dobersek 2012-05-28 08:08:53 PDT
(In reply to comment #1)
> Created an attachment (id=144361) [details]
> Patch

The only options I've left out due to some recent activity towards adding support are --enable-gamepad, --enable-indexed-database and --enable-filesystem.
Comment 3 Gustavo Noronha (kov) 2012-05-28 08:23:14 PDT
Comment on attachment 144361 [details]
Patch

\o/
Comment 4 Zan Dobersek 2012-05-28 08:49:18 PDT
(In reply to comment #3)
> (From update of attachment 144361 [details])
> \o/

Thanks for the quick review. I'll land this once I'm confirmed there's not an unstable release planned in the near future (two weeks or there about).
Comment 5 Gustavo Noronha (kov) 2012-05-28 09:12:01 PDT
Comment on attachment 144361 [details]
Patch

Attachment 144361 [details] did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12844244
Comment 6 Zan Dobersek 2012-05-28 09:46:09 PDT
(In reply to comment #5)
> (From update of attachment 144361 [details])
> Attachment 144361 [details] did not pass gtk-ews (gtk):
> Output: http://queues.webkit.org/results/12844244

Eek! Looks like files added to the build for the unsupported features will have to be removed.
Comment 7 Gustavo Noronha (kov) 2012-05-28 10:37:56 PDT
Or we could leave them in and have the appropriate defines without a configure option, perhaps?
Comment 8 Martin Robinson 2012-05-28 11:13:42 PDT
(In reply to comment #7)
> Or we could leave them in and have the appropriate defines without a configure option, perhaps?

Yeah, that seems like a sensible approach. We just want to remove the interface to the user for these features, not the actual option. The autogeneration of the build options should still be able to turn them on and off.
Comment 9 Zan Dobersek 2012-05-28 11:50:35 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > Or we could leave them in and have the appropriate defines without a configure option, perhaps?
> 
> Yeah, that seems like a sensible approach. We just want to remove the interface to the user for these features, not the actual option. The autogeneration of the build options should still be able to turn them on and off.

It seems the solution to this would be to include all the files in the build, regardless of the feature that file partly implements is enabled or not. I'm not entirely sure this is even possible, but it would make sense that the build should work as expected that way, with all the source files included and the feature being actually built only if the macro is present in the cppflags.

As your comments suggest, the option for feature-enabling should stay, but in my opinion not in the shape of AM conditionals. Perhaps it would be better then to first sort out the feature defines into a GNUmakefile.features.am (bug #87127)? If that, together with all the files being included in the build, is achieved, then they (AM conditionals used for including extra files into the build) are not really needed anymore.
Comment 10 Martin Robinson 2012-05-29 08:35:22 PDT
(In reply to comment #9)

> It seems the solution to this would be to include all the files in the build, regardless of the feature that file partly implements is enabled or not. I'm not entirely sure this is even possible, but it would make sense that the build should work as expected that way, with all the source files included and the feature being actually built only if the macro is present in the cppflags.
> 
> As your comments suggest, the option for feature-enabling should stay, but in my opinion not in the shape of AM conditionals. Perhaps it would be better then to first sort out the feature defines into a GNUmakefile.features.am (bug #87127)? If that, together with all the files being included in the build, is achieved, then they (AM conditionals used for including extra files into the build) are not really needed anymore.

I'm not exactly sure how it would look other than AM conditionals, but I guess I can just wait for the patch at #87127. One thing that concerns me though is if we do not remove the files from the build, this removes the benefit of disabling SVG for creating faster builds.
Comment 11 Gustavo Noronha (kov) 2012-05-29 10:17:19 PDT
Handling SVG specially sounds like the practical solution.
Comment 12 Martin Robinson 2012-05-29 10:43:35 PDT
(In reply to comment #11)
> Handling SVG specially sounds like the practical solution.

I'm not sure how removing the files from allows enabling and disabling features via the feature  list autogeneration.
Comment 13 Zan Dobersek 2012-05-30 05:16:18 PDT
(In reply to comment #10)
> One thing that concerns me though is if we do not remove the files from the build, this removes the benefit of disabling SVG for creating faster builds.

I've done three builds with clean cache:
1. SVG disabled, files not included in the build - 27m:43s
2. SVG disabled, files included in the build - 28m:04s
3. SVG enabled - 35m:04s

Seems the preprocessor does its job formidably and I think the time difference can be lived with.
Comment 14 Zan Dobersek 2012-05-30 06:34:17 PDT
(In reply to comment #1)
> Created an attachment (id=144361) [details]
> Patch

As for this patch, I recommend splitting it up:
- create new bug entries for the data-transfer-items and mhtml options, uploading a patch for each that removes the configuration option, AM conditonal and moves the files into the general build (after proper testing)
- reupload a patch for other options here

This seems somewhat contrary to what I was recommending in comment #9 (getting a GNUmakefile.features.am done), but I think these configuration options are safe to remove before that. They're unsupported and there's probably no one trying to enable them, so there's not much harm done in leaving them disabled with no option to enable for a short amount of time. But that said, I'd like some confirmation that a release is not just around the corner.
Comment 15 Martin Robinson 2012-05-30 10:32:53 PDT
(In reply to comment #13)
> (In reply to comment #10)
> > One thing that concerns me though is if we do not remove the files from the build, this removes the benefit of disabling SVG for creating faster builds.
> 
> I've done three builds with clean cache:
> 1. SVG disabled, files not included in the build - 27m:43s
> 2. SVG disabled, files included in the build - 28m:04s
> 3. SVG enabled - 35m:04s

Okay. At some point I moved all the files into the main list and then others moved them back out. Now you are moving them back in again. I don't really care where they are, as long as they stop moving. :)
Comment 16 Martin Robinson 2012-05-30 10:33:54 PDT
(In reply to comment #14)

> This seems somewhat contrary to what I was recommending in comment #9 (getting a GNUmakefile.features.am done), but I think these configuration options are safe to remove before that. They're unsupported and there's probably no one trying to enable them, so there's not much harm done in leaving them disabled with no option to enable for a short amount of time. But that said, I'd like some confirmation that a release is not just around the corner.

I think it's safe to do these things as long as you are careful.
Comment 17 Martin Robinson 2012-08-20 21:42:11 PDT
*** Bug 94500 has been marked as a duplicate of this bug. ***
Comment 18 Martin Robinson 2012-08-20 21:42:14 PDT
*** Bug 94495 has been marked as a duplicate of this bug. ***
Comment 19 Martin Robinson 2012-08-20 21:42:17 PDT
*** Bug 50954 has been marked as a duplicate of this bug. ***
Comment 20 Zan Dobersek 2012-09-06 01:23:32 PDT
The GNUmakefile.features.am was created and is now working OK, but this bug kind of fell off my radar.

I'll upload an updated patch, IMO it should get another review as it's been over 3 months since the previous patch.
Comment 21 Zan Dobersek 2012-09-06 01:31:37 PDT
Created attachment 162448 [details]
Patch
Comment 22 Zan Dobersek 2012-09-06 10:58:09 PDT
Comment on attachment 162448 [details]
Patch

Clearing flags on attachment: 162448

Committed r127760: <http://trac.webkit.org/changeset/127760>
Comment 23 Zan Dobersek 2012-09-06 10:58:15 PDT
All reviewed patches have been landed.  Closing bug.