<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>36073</bug_id>
          
          <creation_ts>2010-03-12 14:31:46 -0800</creation_ts>
          <short_desc>[Qt] SQLite support no longer optional, required even in minimal Qt build</short_desc>
          <delta_ts>2010-03-30 06:59:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>hausmann</cc>
    
    <cc>ismail</cc>
    
    <cc>jturcotte</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>199220</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-03-12 14:31:46 -0800</bug_when>
    <thetext>WebCore.pri only enables SQLite if it is available or none of ENABLE_DATABASE=0 ENABLE_WORKERS=0 ENABLE_SHARED_WORKERS=0 ENABLE_ICONDATABASE=0 is true.

However recent changes to GeoLocationPositionCache.cpp make support mandatory even for minimal builds, so either the build needs to abandon optionalizing it or need to look at omitting WebCore/Geo*.cpp from the build. Currently the build doesn&apos;t support the ENABLE_GEOLOCATION option and as far as I can see that flag is kind of moot anyway, it&apos;s only used in a couple of places by Mac and Chromium. So geolocation looks hard to drop in a minimal build.

## Define default features macros for optional components
## (look for defs in config.h and included files!)
# Try to locate sqlite3 source
CONFIG(QTDIR_build) {
    SQLITE3SRCDIR = $$QT_SOURCE_TREE/src/3rdparty/sqlite/
} else {
    SQLITE3SRCDIR = $$(SQLITE3SRCDIR)
    isEmpty(SQLITE3SRCDIR) {
        SQLITE3SRCDIR = $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/
    }
}

# turn off SQLITE support if we do not have sqlite3 available
!CONFIG(QTDIR_build):win32-*:!exists( $${SQLITE3SRCDIR}/sqlite3.c ): DEFINES += ENABLE_SQLITE=0 ENABLE_DATABASE=0 ENABLE_WORKERS=0 ENABLE_SHARED_WORKERS=0 ENABLE_ICONDATABASE=0 ENABLE_OFFLINE_WEB_APPLICATIONS=0 ENABLE_DOM_STORAGE=0

# turn on SQLITE support if any of the dependent features are turned on
!contains(DEFINES, ENABLE_SQLITE=.) {
  contains(DEFINES, ENABLE_DATABASE=1)|contains(DEFINES, ENABLE_ICONDATABASE=1)|contains(DEFINES, ENABLE_DOM_STORAGE=1)|contains(DEFINES, ENABLE_OFFLINE_WEB_APPLICATIONS=1) {
    DEFINES += ENABLE_SQLITE=1
  } else {
    DEFINES += ENABLE_SQLITE=0
  }
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199602</commentid>
    <comment_count>1</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-03-15 03:10:54 -0700</bug_when>
    <thetext>On Windows, to have SQLite supporte enabled in QtWebKit you must either:
- Build QtWebKit within the Qt source tree (i.e. the sources must be in src/3rdparty/webkit and built through configure/make)
- Have the SQLITE3SRCDIR environment variable set to the source directory of sqlite (which can be the one in Qt/src/3rdparty/sqlite)

On most qtwebkit windows trunk dev setup, none of these conditions are met, so requiring SQLite would make the standard build steps a bit more complicated on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199618</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-15 05:27:35 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; On Windows, to have SQLite supporte enabled in QtWebKit you must either:
&gt; - Build QtWebKit within the Qt source tree (i.e. the sources must be in
&gt; src/3rdparty/webkit and built through configure/make)
&gt; - Have the SQLITE3SRCDIR environment variable set to the source directory of
&gt; sqlite (which can be the one in Qt/src/3rdparty/sqlite)
&gt; 
&gt; On most qtwebkit windows trunk dev setup, none of these conditions are met, so
&gt; requiring SQLite would make the standard build steps a bit more complicated on
&gt; Windows.

The third option that currently applies when I build windows package is that QTDIR happens to be set, and so sqlite3.c from QTDIR/src/3rdparty/sqlite gets compiled in.

Perhaps shipping a copy of sqlite3.c is what we have to do with the packages, to fall back to when there is no system library :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203472</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-24 10:28:30 -0700</bug_when>
    <thetext>I think it should block QtWebKit-2.0 release, because it is a build brake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204565</commentid>
    <comment_count>4</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-26 07:38:57 -0700</bug_when>
    <thetext>I think a better fix is to make the GEOLOCATION guard proper - see https://bugs.webkit.org/show_bug.cgi?id=25756.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205235</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-28 14:02:07 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I think a better fix is to make the GEOLOCATION guard proper - see
&gt; https://bugs.webkit.org/show_bug.cgi?id=25756.

That sounds right. Robert, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205554</commentid>
    <comment_count>6</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-03-29 11:14:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; I think a better fix is to make the GEOLOCATION guard proper - see
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=25756.
&gt; 
&gt; That sounds right. Robert, what do you think?

Looks like Laszlo has done all the hard work and this bug can be closed once his patch is landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205982</commentid>
    <comment_count>7</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-30 06:57:15 -0700</bug_when>
    <thetext>56781 builds and run without sqlite, when compiled with the --minimal option - as fix for bug 25756 has been landed. CLOSING this bug, please REOPEN it if you think this needs more work.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>