Bug 78109 - [Qt] Make it possible to build WebKit without QtWidgets
Summary: [Qt] Make it possible to build WebKit without QtWidgets
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Hausmann
URL:
Keywords:
: 88168 (view as bug list)
Depends on: 76276 78611 78690 78692 78694 78788 79233 79458 80017 80128 80141
Blocks: 76773 76775
  Show dependency treegraph
 
Reported: 2012-02-08 05:58 PST by Roland Takacs
Modified: 2012-08-02 05:39 PDT (History)
12 users (show)

See Also:


Attachments
Patch (22.73 KB, patch)
2012-06-25 10:49 PDT, Simon Hausmann
vestbo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roland Takacs 2012-02-08 05:58:20 PST
QtWidgets dependencies must be eliminated to compile wtf/jsc/webcore without them.
Comment 1 Simon Hausmann 2012-02-16 05:02:27 PST
The goal of this bug is now to make it possible to build WebKit without QtWidgets, with the resulting library not containing the Qt WK1 APIs that depend on QtWidgets.
Comment 2 Simon Hausmann 2012-02-22 22:33:08 PST
Next up is moving the QStyle based themeing code out of WebCore, so that we can compile WebCore always without widgets (to avoid accidentally introducing new dependencies there).
Comment 3 Balazs Kelemen 2012-03-27 09:41:36 PDT
Is this fixed now? All dependencies are closed :)
Comment 4 Simon Hausmann 2012-03-29 07:44:30 PDT
(In reply to comment #3)
> Is this fixed now? All dependencies are closed :)

What's left is making it possible to build the entire library without QtWidgets, which would effectively disable the WebKit1 API and just leave us with a library that implements the WK2 QML element that is made accessible to applications via the QML plugin.

The change is I think largely a build system change to not compile WK1 files if there are no widgets.
Comment 5 Simon Hausmann 2012-06-25 10:48:37 PDT
CC'ing Tor Arne for upcoming build system surgery :)
Comment 6 Simon Hausmann 2012-06-25 10:49:39 PDT
Created attachment 149323 [details]
Patch
Comment 7 Tor Arne Vestbø 2012-06-25 14:11:04 PDT
Comment on attachment 149323 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=149323&action=review

r=me with a few minor nitpicks

> Source/api.pri:141
>      QMAKE_INTERNAL_INCLUDED_FILES *= WebKit2/Target.pri

You need the same hack for WebKit1.pri

> Tools/qmake/mkspecs/features/default_pre.prf:108
> +        root_project_file: error("Building WebKit against Qt 5.0 requires the QtWidgets and QtPrintSupport modules. Disabling WebKit1.")

This is no longer a fatal error and should use warning instead of error. The message could also reflect this, eg, "WebKit1 requires the QtWidgets and QtPrintSupport modules. Disabling WebKit1."
Comment 8 Simon Hausmann 2012-06-25 21:11:46 PDT
(In reply to comment #7)
> (From update of attachment 149323 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=149323&action=review
> 
> r=me with a few minor nitpicks

Thanks for the quick review :)

> > Source/api.pri:141
> >      QMAKE_INTERNAL_INCLUDED_FILES *= WebKit2/Target.pri
> 
> You need the same hack for WebKit1.pri

Good catch!

> > Tools/qmake/mkspecs/features/default_pre.prf:108
> > +        root_project_file: error("Building WebKit against Qt 5.0 requires the QtWidgets and QtPrintSupport modules. Disabling WebKit1.")
> 
> This is no longer a fatal error and should use warning instead of error. The message could also reflect this, eg, "WebKit1 requires the QtWidgets and QtPrintSupport modules. Disabling WebKit1."

Oops, excellent point. I had that commented out while testing ;)
Comment 9 Simon Hausmann 2012-06-25 21:51:10 PDT
Committed r121228: <http://trac.webkit.org/changeset/121228>
Comment 10 Csaba Osztrogonác 2012-06-26 06:18:03 PDT
(In reply to comment #9)
> Committed r121228: <http://trac.webkit.org/changeset/121228>

FYI: It broke the Windows build. r121227 builds fine, and r121230 is broken.
You can find a full clean build log for r121230 here: 
http://build.webkit.org/builders/Qt%20Windows%2032-bit%20Debug/builds/45144
Comment 11 Simon Hausmann 2012-06-26 06:31:43 PDT
(In reply to comment #10)
> (In reply to comment #9)
> > Committed r121228: <http://trac.webkit.org/changeset/121228>
> 
> FYI: It broke the Windows build. r121227 builds fine, and r121230 is broken.
> You can find a full clean build log for r121230 here: 
> http://build.webkit.org/builders/Qt%20Windows%2032-bit%20Debug/builds/45144

Yes. I'm working on a fix in bug #88873. I expected exactly this to happen :)
Comment 12 Simon Hausmann 2012-08-02 05:39:23 PDT
*** Bug 88168 has been marked as a duplicate of this bug. ***