<title>SQLite Download Page</title>

<h2>SQLite Download Page</h2>
<table width="100%" cellpadding="5">

<tcl>
hd_keywords {download page}
set nDownload 0
proc Product {pattern desc {frag {}}} {
  regsub VVV $pattern {*} p3
  regsub DATE $p3 {20*} p3
  regsub VVV $pattern {(30\d{5})} pattern
  regsub DATE $pattern {(\d{12})} pattern
  set p2 [string map {* .*} $pattern]
  set flist [glob -nocomplain $p3]
  foreach file [lsort -dict $flist] {
    if {![regexp ^$p2\$ $file all version]} continue
    if {[regexp {^(\d\d\d\d)(\d\d)(\d\d)(\d\d)(\d\d)$} $version \
           all year month day hour min]} {
      set version "$year-$month-$day $hour:$min UTC"
    } elseif {[regexp {^30(\d)(\d\d)(\d\d)$} $version \
           all major minor patch]} {
      scan $major %d m1
      scan $minor %d m2
      scan $patch %d m3
      set version 3.$m1.$m2
      if {$patch>0} {
        append version .$m3
      }
    }
    set size [file size $file]
    set sha1sum [lindex [exec sha1sum $file] 0]
    set units bytes
    if {$size>1024*1024} {
      set size [format %.2f [expr {$size/(1024.0*1024.0)}]]
      set units MiB
    } elseif {$size>1024} {
      set size [format %.2f [expr {$size/(1024.0)}]]
      set units KiB
    }
    global pending_heading
    if {$pending_heading!=""} {
      hd_puts "<tr><td colspan=\"4\"><b>$pending_heading</b></td></tr>"
      set pending_heading {}
    }
    hd_puts "<tr><td width=\"10\"></td>"
    hd_puts "<td valign=\"top\" align=\"right\">"
    if {$frag!=""} {
      eval hd_fragment $frag
      set frag {}
    }
    hd_puts "<a href=\"/$file\">$file</a><br>($size $units)</td>"
    hd_puts "<td width=\"5\"></td>"
    regsub -all VERSION $desc $version d2
    hd_puts "<td valign=\"top\">"
    hd_resolve [string trim $d2]
    hd_puts "<br>(sha1: $sha1sum)</td></tr>"
    incr ::nDownload
  }
  if {$frag!=""} {
    eval hd_keywords [lrange $frag 1 end]
  }
}
cd $::DEST

proc Heading {title} {
  set ::pending_heading $title
  # hd_puts "<tr><td colspan=4><big><b>$title</b></big></td></tr>"
}

Heading {Pre-release Source Code Snapshots}


Product {sqlite-amalgamation-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development.  Use this snapshot for testing only.  This is not a release.
  This ZIP archive contains all preprocessed C code combined into a
  single source file (the [amalgamation]).
}
Product {sqlite-amalgamation32k-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development.  The code is split into a small number of source files,
  such that no single source file is longer than 32767 lines of code.
  Use this snapshot for testing only.  This is not a release.
}
Product {sqlite-tea-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}
Product {sqlite-shell-win32-x86-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 
  <a href="sqlite.html">sqlite3.exe command-line shell</a>
  shell program for 32-bit windows.
}
Product {sqlite-shell-win64-x64-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 
  <a href="sqlite.html">sqlite3.exe command-line shell</a>
  shell program for 64-bit windows.
}


Heading {Source Code}

Product {sqlite-amalgamation-VVV.zip} {
  This ZIP archive contains all C source code for SQLite VERSION
  combined into a
  single source file (the [amalgamation]).
}

Product {sqlite-amalgamation32k-VVV.zip} {
  This ZIP archive contains all C source code for SQLite VERSION
  combined into a small number of source files, where no source file
  is longer than 32767 lines of code.
}

Product {sqlite-autoconf-VVV.tar.gz} {
  A tarball containing the [amalgamation]
  for SQLite VERSION together with an configure script and makefile
  for building it.  This tarball also contains in the "tea" subdirectory
  a separate configure script and makefile compatible with the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension
  Architecture (TEA)</a> for building the TCL bindings to SQLite.
} {amalgtarball {amalgamation tarball}}


Product {sqlite-tea-VVV.tar.gz} {
  A tarball of the [amalgamation] together with a
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension
  Architecture (TEA)</a>
  compatible configure script and makefile.
} {teatarball {TEA tarball}}

Heading {Documentation}

Product {sqlite-doc-VVV.zip} {
  This ZIP archive contains most of the static HTML files that
  comprise this website, including all of the SQL Syntax and the
  C/C++ interface specs and other miscellaneous documentation.
}

Heading {Precompiled Binaries for Linux}

Product sqlite-shell-linux-x86-VVV.zip {
  A [command-line shell]
  for accessing and modifying SQLite databases.
  This program is compatible with all versions of SQLite through VERSION
  and beyond.
}

Product sqlite-analyzer-linux-x86-VVV.zip {
  An analysis program for database files compatible with all SQLite 
  versions through VERSION and beyond.
}

Heading {Precompiled Binaries For Mac OS X (x86)}

Product sqlite-shell-osx-x86-VVV.zip {
  A [command-line shell]
  for accessing and modifying SQLite databases.
  This program is compatible with all versions of SQLite through VERSION
  and beyond.
}

Product sqlite-analyzer-osx-x86-VVV.zip {
  An analysis program for database files compatible with all SQLite 
  versions through VERSION and beyond.
}

Heading {Precompiled Binaries For Windows}

set start $nDownload
Product sqlite-shell-win32-x86-VVV.zip {
  A [command-line shell]
  for accessing and modifying SQLite databases.
  This program is compatible with all versions of SQLite through VERSION
  and beyond.
}

Product sqlite-dll-win32-x86-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  32-bit x86 processors using the Win32 API.
  The DLL is built using [SQLITE_ENABLE_COLUMN_METADATA] so that it is
  suitable for use with Ruby on Rails.
}

Product sqlite-dll-win32-x64-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  64-bit x64 processors using the Win32 API.
}

Product sqlite-analyzer-win32-x86-VVV.zip {
  An analysis program for database files compatible with all SQLite 
  versions through VERSION and beyond.
}

Heading {Precompiled Binaries for WinRT}

Product sqlite-dll-winrt-x86-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  32-bit x86 processors using the WinRT API.
}

Product sqlite-dll-winrt-x64-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  64-bit x64 processors using the WinRT API.
}

Product sqlite-winrt-VVV.vsix {
  A complete VSIX package with an extension SDK and all other components
  needed to use SQLite for WinRT application development with Visual Studio
  2012 and higher.
}

if {$nDownload>$start} {
  hd_puts {<tr><td colspan="4"><b>Precompiled Binaries For .NET</b></td></tr>}
  hd_puts "<tr><td width=\"10\"></td>"
  hd_puts "<td valign=\"top\" align=\"right\">"
  set url http://System.Data.SQLite.org/index.html/doc/trunk/www/downloads.wiki
  hd_puts "<a href=\"$url\">System.Data.SQLite.org</a></td>"
  hd_puts "<td width=\"5\"></td>"
  hd_puts "<td valign=\"top\">"
  hd_puts "
    Visit the <a href=\"http://System.Data.SQLite.org/\">System.Data.SQLite.org
    </a> website and especially the <a href=\"$url\">download page</a> for
    source code and binaries of SQLite for .NET.</td></tr>
  "
}

Heading {Legacy Source Code Distribution Formats (Not Recommended)}

Product {sqlite-src-VVV.zip} {
  A ZIP archive of the complete source tree for SQLite version VERSION
  as extracted from the version control system.  <i>The Makefile and
  configure script in this tarball are not supported</i>.  Their use
  is <u>not</u> recommended. The SQLite developers do not use them.  
  You should not use them either.  If you want a configure script and
  an automated build, use either the amalgamation tarball or TEA tarball
  instead of this one.
  To build from this tarball, hand-edit one of the template Makefiles
  in the root directory of the tarball and build using your own customized
  Makefile.
}

Product {sqlite-preprocessed-VVV.zip} {
  This ZIP archive contains preprocessed C code for SQLite version VERSION
  individual source files.  The use of this source distribution is
  <u>not</u> recommended.  Use one of the amalgamation packages above
  unless you have a compelling reason not to.
}


</tcl>
</table>

<tcl>hd_fragment encoding {build product names}</tcl>
<h3>Build Product Names</h3>

<p>Beginning with SQLite [version 3.7.4], the names of the build products
have changed to be more consistent.  (Prior to version 3.7.4, the
names of build products were seemingly random.)  Build products are named
using one of the following templates:

<ol>
<li> <b>sqlite-</b>product<b>-</b>version<b>.zip</b>
<li> <b>sqlite-</b>product<b>-</b>version<b>.tar.gz</b>
<li> <b>sqlite-</b>product<b>-</b>os<b>-</b>cpu<b>-</b>version<b>.zip</b>
<li> <b>sqlite-</b>product<b>-</b>date<b>.zip</b>
</ol>

<p>Templates (1) and (2) are used for source-code products.  Template (1) is
used for generic source-code products and templates (2) is used for source-code
products that are generally only useful on unix-like platforms.  Template (3)
is used for precompiled binaries products.  Template (4) is used for
unofficial pre-release "snapshots" of source code.

<p>The <i>version</i> is encoded so that filenames sort in order of
increasing version number when viewed using "ls".  For version 3.X.Y the filename encoding is 3XXYY00.  For branch version 3.X.Y.Z, the encoding is 3XXYYZZ.

<p>The <i>date</i> in template (4) is of the form: YYYYMMDDHHMM

<a name="cvs"></a>
<h3>Canonical Source Code</h3>

<p>
The canonical SQLite source code is maintained in three self-synchronizing
[http://www.fossil-scm.org/ | Fossil] repositories that are
available for anonymous read-only access.  Anyone can 
view the repository contents and download historical versions
of individual files or ZIP archives of historical check-ins.</p>

<p>Note that a unix-like development environment, including a recent
version of <a href="http://www.tcl.tk/">Tcl</a>, is required in order to
build from the canonical sources.</p>

<blockquote>
<a href="http://www.sqlite.org/cgi/src">http://www.sqlite.org/cgi/src</a> (Dallas)<br>
<a href="http://www2.sqlite.org/cgi/src">http://www2.sqlite.org/cgi/src</a> (Newark)<br>
<a href="http://www3.sqlite.org/cgi/src">http://www3.sqlite.org/cgi/src</a> (Fremont)<br>
</blockquote>

<p>The documentation is maintained in separate
[http://www.fossil-scm.org/ | Fossil] repositories located
at:</p>

<blockquote>
<a href="http://www.sqlite.org/cgi/docsrc">http://www.sqlite.org/cgi/docsrc</a> (Dallas)<br>
<a href="http://www2.sqlite.org/cgi/docsrc">http://www2.sqlite.org/cgi/docsrc</a> (Newark)<br>
<a href="http://www3.sqlite.org/cgi/docsrc">http://www3.sqlite.org/cgi/docsrc</a> (Fremont)<br>

</blockquote>
