Bug 22618 - QtWebKit MinGW does not link
Summary: QtWebKit MinGW does not link
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-02 22:01 PST by Laszlo Gombos
Modified: 2008-12-18 06:38 PST (History)
2 users (show)

See Also:


Attachments
Fix (4.23 KB, patch)
2008-12-02 22:03 PST, Laszlo Gombos
hausmann: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Laszlo Gombos 2008-12-02 22:01:14 PST
Building QtWebKit on Windows fails to link. I installed the latest Qt release (qt-win-opensource-4.4.3-mingw.exe)  - MinGW was downloaded and installed by the Qt installer - and followed the instructions from http://trac.webkit.org/wiki/BuildingQtOnWindows.

There are several problems with QtWebKit on MinGW, will list the most obvious ones
 a./ ENABLE_OFFLINE_WEB_APPLICATIONS and ENABLE_DOM_STORAGE are enabled even though ENABLE_DATABASE is disabled. This is a problem, because ENABLE_OFFLINE_WEB_APPLICATIONS and ENABLE_DOM_STORAGE are dependent on ENABLE_DATABASE. This will eventually lead to a link-time failure.
 b./ ENABLE_DATABASE is deliberately turned off if QtWebKit is not built inside an Qt release
 
In some instances (e.g. when SQLITE3SRCDIR is defined or building inside Qt) QtWebKit build can pick up sqlite3.c and link it in. I would like to propose to extend this functionality to the Win MingGW build as well, since the Qt release comes with an sqlite3.c source.
Comment 1 Laszlo Gombos 2008-12-02 22:03:35 PST
Created attachment 25700 [details]
Fix

The included patch fixes the following problems/adds the following features:
 - Try to detect if sqlite3.c is available as part of a Qt installation, or specified by SQLITE3SRCDIR
 - When not building inside Qt only disable ENABLE_DATABASE on windows, if sqlite3.c is not available (instead of all the time)
 - When ENABLE_DATABASE is disabled, disable ENABLE_OFFLINE_WEB_APPLICATIONS and ENABLE_DOM_STORAGE as well, not only ENABLE_ICONDATABASE
 - ENABLE_DATABASE is now disabled by default if ENABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_DOM_STORAGE and ENABLE_ICONDATABASE all disabled (I have not changed however the default values for NABLE_OFFLINE_WEB_APPLICATIONS, ENABLE_DOM_STORAGE and ENABLE_ICONDATABASE features.)
 - Consolidated build logic so that there is only one code branch where sqlite3.c gets added to the source list. In addition copied SQLITE DEFINES from sqlite.pro, these were not there before.
Comment 2 Simon Hausmann 2008-12-18 05:53:28 PST
Comment on attachment 25700 [details]
Fix

Good catch, thanks for the cleanups!
Comment 3 Tor Arne Vestbø 2008-12-18 06:38:37 PST
Landed in r39372