Documentation Source Text

Hex Artifact Content
Login

Artifact cfdaaf1c1a05cbccd0288955f8234a6a05e69110:


0000: 3c 74 69 74 6c 65 3e 53 51 4c 69 74 65 20 44 6f  <title>SQLite Do
0010: 77 6e 6c 6f 61 64 20 50 61 67 65 3c 2f 74 69 74  wnload Page</tit
0020: 6c 65 3e 0a 0a 3c 68 32 3e 53 51 4c 69 74 65 20  le>..<h2>SQLite 
0030: 44 6f 77 6e 6c 6f 61 64 20 50 61 67 65 3c 2f 68  Download Page</h
0040: 32 3e 0a 3c 74 61 62 6c 65 20 77 69 64 74 68 3d  2>.<table width=
0050: 22 31 30 30 25 22 20 63 65 6c 6c 70 61 64 64 69  "100%" cellpaddi
0060: 6e 67 3d 22 35 22 20 63 65 6c 6c 73 70 61 63 69  ng="5" cellspaci
0070: 6e 67 3d 22 30 22 3e 0a 0a 3c 74 63 6c 3e 0a 68  ng="0">..<tcl>.h
0080: 64 5f 6b 65 79 77 6f 72 64 73 20 7b 64 6f 77 6e  d_keywords {down
0090: 6c 6f 61 64 20 70 61 67 65 7d 0a 73 65 74 20 6e  load page}.set n
00a0: 44 6f 77 6e 6c 6f 61 64 20 30 0a 73 65 74 20 42  Download 0.set B
00b0: 47 20 7b 7d 0a 75 6e 73 65 74 20 2d 6e 6f 63 6f  G {}.unset -noco
00c0: 6d 70 6c 61 69 6e 20 68 72 65 66 0a 75 6e 73 65  mplain href.unse
00d0: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 68 72  t -nocomplain hr
00e0: 65 66 5f 63 6e 74 0a 73 65 74 20 68 72 65 66 5f  ef_cnt.set href_
00f0: 63 6e 74 20 30 0a 70 72 6f 63 20 50 72 6f 64 75  cnt 0.proc Produ
0100: 63 74 20 7b 70 61 74 74 65 72 6e 20 64 65 73 63  ct {pattern desc
0110: 20 7b 66 72 61 67 20 7b 7d 7d 7d 20 7b 0a 20 20   {frag {}}} {.  
0120: 72 65 67 73 75 62 20 56 56 56 20 24 70 61 74 74  regsub VVV $patt
0130: 65 72 6e 20 7b 2a 7d 20 70 33 0a 20 20 72 65 67  ern {*} p3.  reg
0140: 73 75 62 20 44 41 54 45 20 24 70 33 20 7b 32 30  sub DATE $p3 {20
0150: 2a 7d 20 70 33 0a 20 20 72 65 67 73 75 62 20 59  *} p3.  regsub Y
0160: 45 41 52 20 24 70 33 20 7b 32 30 5b 31 33 34 5d  EAR $p3 {20[134]
0170: 5b 30 2d 39 5d 7d 20 70 33 0a 20 20 72 65 67 73  [0-9]} p3.  regs
0180: 75 62 20 56 56 56 20 24 70 61 74 74 65 72 6e 20  ub VVV $pattern 
0190: 7b 28 33 30 5c 64 7b 35 7d 29 7d 20 70 61 74 74  {(30\d{5})} patt
01a0: 65 72 6e 0a 20 20 72 65 67 73 75 62 20 44 41 54  ern.  regsub DAT
01b0: 45 20 24 70 61 74 74 65 72 6e 20 7b 28 5c 64 7b  E $pattern {(\d{
01c0: 31 32 7d 29 7d 20 70 61 74 74 65 72 6e 0a 20 20  12})} pattern.  
01d0: 72 65 67 73 75 62 20 59 45 41 52 20 24 70 61 74  regsub YEAR $pat
01e0: 74 65 72 6e 20 7b 5c 64 7b 34 7d 7d 20 70 61 74  tern {\d{4}} pat
01f0: 74 65 72 6e 0a 20 20 73 65 74 20 70 32 20 5b 73  tern.  set p2 [s
0200: 74 72 69 6e 67 20 6d 61 70 20 7b 2a 20 2e 2a 7d  tring map {* .*}
0210: 20 24 70 61 74 74 65 72 6e 5d 0a 20 20 73 65 74   $pattern].  set
0220: 20 66 6c 69 73 74 20 5b 67 6c 6f 62 20 2d 6e 6f   flist [glob -no
0230: 63 6f 6d 70 6c 61 69 6e 20 24 70 33 5d 0a 20 20  complain $p3].  
0240: 66 6f 72 65 61 63 68 20 66 69 6c 65 20 5b 6c 73  foreach file [ls
0250: 6f 72 74 20 2d 64 69 63 74 20 24 66 6c 69 73 74  ort -dict $flist
0260: 5d 20 7b 0a 20 20 20 20 69 66 20 7b 21 5b 72 65  ] {.    if {![re
0270: 67 65 78 70 20 5e 24 70 32 5c 24 20 24 66 69 6c  gexp ^$p2\$ $fil
0280: 65 20 61 6c 6c 20 76 65 72 73 69 6f 6e 5d 7d 20  e all version]} 
0290: 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 69 66 20  continue.    if 
02a0: 7b 5b 72 65 67 65 78 70 20 7b 5e 28 5c 64 5c 64  {[regexp {^(\d\d
02b0: 5c 64 5c 64 29 28 5c 64 5c 64 29 28 5c 64 5c 64  \d\d)(\d\d)(\d\d
02c0: 29 28 5c 64 5c 64 29 28 5c 64 5c 64 29 24 7d 20  )(\d\d)(\d\d)$} 
02d0: 24 76 65 72 73 69 6f 6e 20 5c 0a 20 20 20 20 20  $version \.     
02e0: 20 20 20 20 20 20 61 6c 6c 20 79 65 61 72 20 6d        all year m
02f0: 6f 6e 74 68 20 64 61 79 20 68 6f 75 72 20 6d 69  onth day hour mi
0300: 6e 5d 7d 20 7b 0a 20 20 20 20 20 20 73 65 74 20  n]} {.      set 
0310: 76 65 72 73 69 6f 6e 20 22 24 79 65 61 72 2d 24  version "$year-$
0320: 6d 6f 6e 74 68 2d 24 64 61 79 20 24 68 6f 75 72  month-$day $hour
0330: 3a 24 6d 69 6e 20 55 54 43 22 0a 20 20 20 20 7d  :$min UTC".    }
0340: 20 65 6c 73 65 69 66 20 7b 5b 72 65 67 65 78 70   elseif {[regexp
0350: 20 7b 5e 33 30 28 5c 64 29 28 5c 64 5c 64 29 28   {^30(\d)(\d\d)(
0360: 5c 64 5c 64 29 24 7d 20 24 76 65 72 73 69 6f 6e  \d\d)$} $version
0370: 20 5c 0a 20 20 20 20 20 20 20 20 20 20 20 61 6c   \.           al
0380: 6c 20 6d 61 6a 6f 72 20 6d 69 6e 6f 72 20 70 61  l major minor pa
0390: 74 63 68 5d 7d 20 7b 0a 20 20 20 20 20 20 73 63  tch]} {.      sc
03a0: 61 6e 20 24 6d 61 6a 6f 72 20 25 64 20 6d 31 0a  an $major %d m1.
03b0: 20 20 20 20 20 20 73 63 61 6e 20 24 6d 69 6e 6f        scan $mino
03c0: 72 20 25 64 20 6d 32 0a 20 20 20 20 20 20 73 63  r %d m2.      sc
03d0: 61 6e 20 24 70 61 74 63 68 20 25 64 20 6d 33 0a  an $patch %d m3.
03e0: 20 20 20 20 20 20 73 65 74 20 76 65 72 73 69 6f        set versio
03f0: 6e 20 33 2e 24 6d 31 2e 24 6d 32 0a 20 20 20 20  n 3.$m1.$m2.    
0400: 20 20 69 66 20 7b 24 70 61 74 63 68 3e 30 7d 20    if {$patch>0} 
0410: 7b 0a 20 20 20 20 20 20 20 20 61 70 70 65 6e 64  {.        append
0420: 20 76 65 72 73 69 6f 6e 20 2e 24 6d 33 0a 20 20   version .$m3.  
0430: 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20      }.    }.    
0440: 73 65 74 20 73 69 7a 65 20 5b 66 69 6c 65 20 73  set size [file s
0450: 69 7a 65 20 24 66 69 6c 65 5d 0a 20 20 20 20 73  ize $file].    s
0460: 65 74 20 73 68 61 31 73 75 6d 20 5b 6c 69 6e 64  et sha1sum [lind
0470: 65 78 20 5b 65 78 65 63 20 73 68 61 31 73 75 6d  ex [exec sha1sum
0480: 20 24 66 69 6c 65 5d 20 30 5d 0a 20 20 20 20 73   $file] 0].    s
0490: 65 74 20 75 6e 69 74 73 20 62 79 74 65 73 0a 20  et units bytes. 
04a0: 20 20 20 69 66 20 7b 24 73 69 7a 65 3e 31 30 32     if {$size>102
04b0: 34 2a 31 30 32 34 7d 20 7b 0a 20 20 20 20 20 20  4*1024} {.      
04c0: 73 65 74 20 73 69 7a 65 20 5b 66 6f 72 6d 61 74  set size [format
04d0: 20 25 2e 32 66 20 5b 65 78 70 72 20 7b 24 73 69   %.2f [expr {$si
04e0: 7a 65 2f 28 31 30 32 34 2e 30 2a 31 30 32 34 2e  ze/(1024.0*1024.
04f0: 30 29 7d 5d 5d 0a 20 20 20 20 20 20 73 65 74 20  0)}]].      set 
0500: 75 6e 69 74 73 20 4d 69 42 0a 20 20 20 20 7d 20  units MiB.    } 
0510: 65 6c 73 65 69 66 20 7b 24 73 69 7a 65 3e 31 30  elseif {$size>10
0520: 32 34 7d 20 7b 0a 20 20 20 20 20 20 73 65 74 20  24} {.      set 
0530: 73 69 7a 65 20 5b 66 6f 72 6d 61 74 20 25 2e 32  size [format %.2
0540: 66 20 5b 65 78 70 72 20 7b 24 73 69 7a 65 2f 28  f [expr {$size/(
0550: 31 30 32 34 2e 30 29 7d 5d 5d 0a 20 20 20 20 20  1024.0)}]].     
0560: 20 73 65 74 20 75 6e 69 74 73 20 4b 69 42 0a 20   set units KiB. 
0570: 20 20 20 7d 0a 20 20 20 20 67 6c 6f 62 61 6c 20     }.    global 
0580: 70 65 6e 64 69 6e 67 5f 68 65 61 64 69 6e 67 20  pending_heading 
0590: 70 65 6e 64 69 6e 67 5f 74 61 67 20 42 47 0a 20  pending_tag BG. 
05a0: 20 20 20 69 66 20 7b 24 42 47 21 3d 22 22 7d 20     if {$BG!=""} 
05b0: 7b 0a 20 20 20 20 20 20 73 65 74 20 74 72 20 22  {.      set tr "
05c0: 3c 74 72 20 62 67 63 6f 6c 6f 72 3d 5c 22 24 42  <tr bgcolor=\"$B
05d0: 47 5c 22 3e 22 0a 20 20 20 20 7d 20 65 6c 73 65  G\">".    } else
05e0: 20 7b 0a 20 20 20 20 20 20 73 65 74 20 74 72 20   {.      set tr 
05f0: 22 3c 74 72 3e 22 0a 20 20 20 20 7d 0a 20 20 20  "<tr>".    }.   
0600: 20 69 66 20 7b 24 70 65 6e 64 69 6e 67 5f 68 65   if {$pending_he
0610: 61 64 69 6e 67 21 3d 22 22 7d 20 7b 0a 20 20 20  ading!=""} {.   
0620: 20 20 20 69 66 20 7b 24 70 65 6e 64 69 6e 67 5f     if {$pending_
0630: 74 61 67 21 3d 22 22 7d 20 7b 0a 20 20 20 20 20  tag!=""} {.     
0640: 20 20 20 73 65 74 20 74 67 20 22 3c 61 20 6e 61     set tg "<a na
0650: 6d 65 3d 5c 22 24 70 65 6e 64 69 6e 67 5f 74 61  me=\"$pending_ta
0660: 67 5c 22 3e 3c 2f 61 3e 22 0a 20 20 20 20 20 20  g\"></a>".      
0670: 20 20 73 65 74 20 70 65 6e 64 69 6e 67 5f 74 61    set pending_ta
0680: 67 20 7b 7d 0a 20 20 20 20 20 20 7d 20 65 6c 73  g {}.      } els
0690: 65 20 7b 0a 20 20 20 20 20 20 20 20 73 65 74 20  e {.        set 
06a0: 74 67 20 22 22 0a 20 20 20 20 20 20 7d 0a 20 20  tg "".      }.  
06b0: 20 20 20 20 68 64 5f 70 75 74 73 20 22 24 74 72      hd_puts "$tr
06c0: 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 5c 22 34 5c  <td colspan=\"4\
06d0: 22 3e 24 74 67 3c 62 3e 24 70 65 6e 64 69 6e 67  ">$tg<b>$pending
06e0: 5f 68 65 61 64 69 6e 67 3c 2f 62 3e 3c 2f 74 64  _heading</b></td
06f0: 3e 3c 2f 74 72 3e 5c 6e 22 0a 20 20 20 20 20 20  ></tr>\n".      
0700: 73 65 74 20 70 65 6e 64 69 6e 67 5f 68 65 61 64  set pending_head
0710: 69 6e 67 20 7b 7d 0a 20 20 20 20 7d 0a 20 20 20  ing {}.    }.   
0720: 20 68 64 5f 70 75 74 73 20 22 24 74 72 3c 74 64   hd_puts "$tr<td
0730: 20 77 69 64 74 68 3d 5c 22 31 30 5c 22 3e 3c 2f   width=\"10\"></
0740: 74 64 3e 22 0a 20 20 20 20 68 64 5f 70 75 74 73  td>".    hd_puts
0750: 20 22 3c 74 64 20 76 61 6c 69 67 6e 3d 5c 22 74   "<td valign=\"t
0760: 6f 70 5c 22 20 61 6c 69 67 6e 3d 5c 22 72 69 67  op\" align=\"rig
0770: 68 74 5c 22 3e 22 0a 20 20 20 20 69 66 20 7b 24  ht\">".    if {$
0780: 66 72 61 67 21 3d 22 22 7d 20 7b 0a 20 20 20 20  frag!=""} {.    
0790: 20 20 65 76 61 6c 20 68 64 5f 66 72 61 67 6d 65    eval hd_fragme
07a0: 6e 74 20 24 66 72 61 67 0a 20 20 20 20 20 20 73  nt $frag.      s
07b0: 65 74 20 66 72 61 67 20 7b 7d 0a 20 20 20 20 7d  et frag {}.    }
07c0: 0a 20 20 20 20 67 6c 6f 62 61 6c 20 68 72 65 66  .    global href
07d0: 20 68 72 65 66 5f 63 6e 74 0a 20 20 20 20 69 6e   href_cnt.    in
07e0: 63 72 20 68 72 65 66 5f 63 6e 74 0a 20 20 20 20  cr href_cnt.    
07f0: 73 65 74 20 68 72 65 66 28 61 24 68 72 65 66 5f  set href(a$href_
0800: 63 6e 74 29 20 24 66 69 6c 65 0a 20 20 20 20 68  cnt) $file.    h
0810: 64 5f 70 75 74 73 20 22 3c 61 20 69 64 3d 27 61  d_puts "<a id='a
0820: 24 68 72 65 66 5f 63 6e 74 27 20 68 72 65 66 3d  $href_cnt' href=
0830: 27 68 70 31 2e 68 74 6d 6c 27 3e 5b 66 69 6c 65  'hp1.html'>[file
0840: 20 74 61 69 6c 20 24 66 69 6c 65 5d 3c 2f 61 3e   tail $file]</a>
0850: 3c 62 72 3e 28 24 73 69 7a 65 20 24 75 6e 69 74  <br>($size $unit
0860: 73 29 3c 2f 74 64 3e 5c 6e 22 0a 20 20 20 20 68  s)</td>\n".    h
0870: 64 5f 70 75 74 73 20 22 3c 74 64 20 77 69 64 74  d_puts "<td widt
0880: 68 3d 5c 22 35 5c 22 3e 3c 2f 74 64 3e 22 0a 20  h=\"5\"></td>". 
0890: 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 56     regsub -all V
08a0: 45 52 53 49 4f 4e 20 24 64 65 73 63 20 24 76 65  ERSION $desc $ve
08b0: 72 73 69 6f 6e 20 64 32 0a 20 20 20 20 68 64 5f  rsion d2.    hd_
08c0: 70 75 74 73 20 22 5c 6e 3c 74 64 20 76 61 6c 69  puts "\n<td vali
08d0: 67 6e 3d 5c 22 74 6f 70 5c 22 3e 22 0a 20 20 20  gn=\"top\">".   
08e0: 20 68 64 5f 72 65 73 6f 6c 76 65 20 5b 73 74 72   hd_resolve [str
08f0: 69 6e 67 20 74 72 69 6d 20 24 64 32 5d 0a 20 20  ing trim $d2].  
0900: 20 20 68 64 5f 70 75 74 73 20 22 3c 62 72 3e 28    hd_puts "<br>(
0910: 73 68 61 31 3a 20 24 73 68 61 31 73 75 6d 29 3c  sha1: $sha1sum)<
0920: 2f 74 64 3e 3c 2f 74 72 3e 5c 6e 22 0a 20 20 20  /td></tr>\n".   
0930: 20 69 6e 63 72 20 3a 3a 6e 44 6f 77 6e 6c 6f 61   incr ::nDownloa
0940: 64 0a 20 20 7d 0a 20 20 69 66 20 7b 24 66 72 61  d.  }.  if {$fra
0950: 67 21 3d 22 22 7d 20 7b 0a 20 20 20 20 65 76 61  g!=""} {.    eva
0960: 6c 20 68 64 5f 6b 65 79 77 6f 72 64 73 20 5b 6c  l hd_keywords [l
0970: 72 61 6e 67 65 20 24 66 72 61 67 20 31 20 65 6e  range $frag 1 en
0980: 64 5d 0a 20 20 7d 0a 7d 0a 63 64 20 24 3a 3a 44  d].  }.}.cd $::D
0990: 45 53 54 0a 0a 70 72 6f 63 20 48 65 61 64 69 6e  EST..proc Headin
09a0: 67 20 7b 74 69 74 6c 65 20 7b 74 61 67 20 7b 7d  g {title {tag {}
09b0: 7d 20 7b 62 67 63 6f 6c 6f 72 20 7b 7d 7d 7d 20  } {bgcolor {}}} 
09c0: 7b 0a 20 20 73 65 74 20 3a 3a 70 65 6e 64 69 6e  {.  set ::pendin
09d0: 67 5f 68 65 61 64 69 6e 67 20 24 74 69 74 6c 65  g_heading $title
09e0: 0a 20 20 73 65 74 20 3a 3a 70 65 6e 64 69 6e 67  .  set ::pending
09f0: 5f 74 61 67 20 24 74 61 67 0a 20 20 73 65 74 20  _tag $tag.  set 
0a00: 3a 3a 42 47 20 24 62 67 63 6f 6c 6f 72 0a 20 20  ::BG $bgcolor.  
0a10: 23 20 68 64 5f 70 75 74 73 20 22 3c 74 72 3e 3c  # hd_puts "<tr><
0a20: 74 64 20 63 6f 6c 73 70 61 6e 3d 34 3e 3c 62 69  td colspan=4><bi
0a30: 67 3e 3c 62 3e 24 74 69 74 6c 65 3c 2f 62 3e 3c  g><b>$title</b><
0a40: 2f 62 69 67 3e 3c 2f 74 64 3e 3c 2f 74 72 3e 22  /big></td></tr>"
0a50: 0a 7d 0a 0a 73 65 74 20 43 61 75 74 69 6f 6e 20  .}..set Caution 
0a60: 23 66 66 66 31 63 38 0a 0a 48 65 61 64 69 6e 67  #fff1c8..Heading
0a70: 20 7b 50 72 65 2d 72 65 6c 65 61 73 65 20 53 6f   {Pre-release So
0a80: 75 72 63 65 2d 43 6f 64 65 20 53 6e 61 70 73 68  urce-Code Snapsh
0a90: 6f 74 73 7d 20 7b 7d 20 24 43 61 75 74 69 6f 6e  ots} {} $Caution
0aa0: 0a 0a 0a 50 72 6f 64 75 63 74 20 7b 73 6e 61 70  ...Product {snap
0ab0: 73 68 6f 74 2f 73 71 6c 69 74 65 2d 61 6d 61 6c  shot/sqlite-amal
0ac0: 67 61 6d 61 74 69 6f 6e 2d 44 41 54 45 2e 7a 69  gamation-DATE.zi
0ad0: 70 7d 20 7b 0a 20 20 54 68 65 20 5b 61 6d 61 6c  p} {.  The [amal
0ae0: 67 61 6d 61 74 69 6f 6e 5d 20 61 73 20 6f 66 20  gamation] as of 
0af0: 56 45 52 53 49 4f 4e 2e 0a 20 20 53 65 65 20 74  VERSION..  See t
0b00: 68 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70  he <a href="http
0b10: 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72  ://www.sqlite.or
0b20: 67 2f 64 72 61 66 74 2f 72 65 6c 65 61 73 65 6c  g/draft/releasel
0b30: 6f 67 2f 63 75 72 72 65 6e 74 2e 68 74 6d 6c 22  og/current.html"
0b40: 3e 70 65 6e 64 69 6e 67 0a 20 20 63 68 61 6e 67  >pending.  chang
0b50: 65 20 6c 6f 67 3c 2f 61 3e 20 66 6f 72 20 64 65  e log</a> for de
0b60: 74 61 69 6c 73 2e 0a 7d 0a 50 72 6f 64 75 63 74  tails..}.Product
0b70: 20 7b 73 6e 61 70 73 68 6f 74 2f 73 71 6c 69 74   {snapshot/sqlit
0b80: 65 2d 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 33 32  e-amalgamation32
0b90: 6b 2d 44 41 54 45 2e 7a 69 70 7d 20 7b 0a 20 20  k-DATE.zip} {.  
0ba0: 54 68 65 20 5b 61 6d 61 6c 67 61 6d 61 74 69 6f  The [amalgamatio
0bb0: 6e 5d 20 61 73 20 6f 66 20 56 45 52 53 49 4f 4e  n] as of VERSION
0bc0: 2e 0a 20 20 53 65 65 20 74 68 65 20 3c 61 20 68  ..  See the <a h
0bd0: 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e  ref="http://www.
0be0: 73 71 6c 69 74 65 2e 6f 72 67 2f 64 72 61 66 74  sqlite.org/draft
0bf0: 2f 72 65 6c 65 61 73 65 6c 6f 67 2f 63 75 72 72  /releaselog/curr
0c00: 65 6e 74 2e 68 74 6d 6c 22 3e 70 65 6e 64 69 6e  ent.html">pendin
0c10: 67 0a 20 20 63 68 61 6e 67 65 20 6c 6f 67 3c 2f  g.  change log</
0c20: 61 3e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 20  a> for details. 
0c30: 20 26 6d 64 61 73 68 3b 0a 20 20 3c 69 3e 54 68   &mdash;.  <i>Th
0c40: 69 73 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68  is version of th
0c50: 65 20 61 6d 61 6c 67 61 6d 61 74 69 6f 6e 20 69  e amalgamation i
0c60: 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 73 65 70  s split into sep
0c70: 61 72 61 74 65 20 73 6f 75 72 63 65 20 66 69 6c  arate source fil
0c80: 65 73 0a 20 20 73 75 63 68 20 74 68 61 74 20 6e  es.  such that n
0c90: 6f 20 73 69 6e 67 6c 65 20 73 6f 75 72 63 65 20  o single source 
0ca0: 66 69 6c 65 20 69 73 20 6c 6f 6e 67 65 72 20 74  file is longer t
0cb0: 68 61 6e 20 33 32 37 36 37 20 6c 69 6e 65 73 20  han 32767 lines 
0cc0: 6f 66 20 63 6f 64 65 2e 3c 2f 69 3e 0a 7d 0a 50  of code.</i>.}.P
0cd0: 72 6f 64 75 63 74 20 7b 73 6e 61 70 73 68 6f 74  roduct {snapshot
0ce0: 2f 73 71 6c 69 74 65 2d 74 65 61 2d 44 41 54 45  /sqlite-tea-DATE
0cf0: 2e 7a 69 70 7d 20 7b 0a 20 20 54 68 69 73 20 69  .zip} {.  This i
0d00: 73 20 61 20 73 6e 61 70 73 68 6f 74 20 28 61 73  s a snapshot (as
0d10: 20 6f 66 20 56 45 52 53 49 4f 4e 29 20 6f 66 20   of VERSION) of 
0d20: 74 68 65 20 63 75 72 72 65 6e 74 20 53 51 4c 69  the current SQLi
0d30: 74 65 20 63 6f 64 65 20 75 6e 64 65 72 20 0a 20  te code under . 
0d40: 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 70 61   development, pa
0d50: 63 6b 61 67 65 64 20 61 6e 64 20 72 65 61 64 79  ckaged and ready
0d60: 20 74 6f 20 62 75 69 6c 64 20 75 73 69 6e 67 20   to build using 
0d70: 74 68 65 0a 20 20 3c 61 20 68 72 65 66 3d 22 68  the.  <a href="h
0d80: 74 74 70 3a 2f 2f 77 77 77 2e 74 63 6c 2e 74 6b  ttp://www.tcl.tk
0d90: 2f 64 6f 63 2f 74 65 61 2f 22 3e 54 63 6c 20 45  /doc/tea/">Tcl E
0da0: 78 74 65 6e 73 69 6f 6e 20 41 72 63 68 69 74 65  xtension Archite
0db0: 63 74 75 72 65 20 28 54 45 41 29 3c 2f 61 3e 2e  cture (TEA)</a>.
0dc0: 0a 20 20 55 73 65 20 74 68 69 73 20 73 6e 61 70  .  Use this snap
0dd0: 73 68 6f 74 20 66 6f 72 20 74 65 73 74 69 6e 67  shot for testing
0de0: 20 6f 6e 6c 79 2e 20 20 54 68 69 73 20 69 73 20   only.  This is 
0df0: 6e 6f 74 20 61 20 72 65 6c 65 61 73 65 2e 0a 7d  not a release..}
0e00: 0a 0a 48 65 61 64 69 6e 67 20 7b 50 72 65 2d 72  ..Heading {Pre-r
0e10: 65 6c 65 61 73 65 20 57 69 6e 64 6f 77 73 20 44  elease Windows D
0e20: 4c 4c 73 7d 20 7b 7d 20 24 43 61 75 74 69 6f 6e  LLs} {} $Caution
0e30: 0a 0a 50 72 6f 64 75 63 74 20 73 6e 61 70 73 68  ..Product snapsh
0e40: 6f 74 2f 73 71 6c 69 74 65 2d 64 6c 6c 2d 77 69  ot/sqlite-dll-wi
0e50: 6e 33 32 2d 78 38 36 2d 44 41 54 45 2e 7a 69 70  n32-x86-DATE.zip
0e60: 20 7b 0a 20 20 41 20 33 32 2d 62 69 74 20 57 69   {.  A 32-bit Wi
0e70: 6e 64 6f 77 73 20 44 4c 4c 20 61 73 20 6f 66 20  ndows DLL as of 
0e80: 56 45 52 53 49 4f 4e 2e 0a 20 20 53 65 65 20 74  VERSION..  See t
0e90: 68 65 0a 20 20 3c 61 20 68 72 65 66 3d 22 68 74  he.  <a href="ht
0ea0: 74 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e  tp://www.sqlite.
0eb0: 6f 72 67 2f 64 72 61 66 74 2f 72 65 6c 65 61 73  org/draft/releas
0ec0: 65 6c 6f 67 2f 63 75 72 72 65 6e 74 2e 68 74 6d  elog/current.htm
0ed0: 6c 22 3e 70 65 6e 64 69 6e 67 20 63 68 61 6e 67  l">pending chang
0ee0: 65 20 6c 6f 67 3c 2f 61 3e 0a 20 20 66 6f 72 20  e log</a>.  for 
0ef0: 64 65 74 61 69 6c 73 2e 0a 7d 0a 50 72 6f 64 75  details..}.Produ
0f00: 63 74 20 73 6e 61 70 73 68 6f 74 2f 73 71 6c 69  ct snapshot/sqli
0f10: 74 65 2d 64 6c 6c 2d 77 69 6e 36 34 2d 78 36 34  te-dll-win64-x64
0f20: 2d 44 41 54 45 2e 7a 69 70 20 7b 0a 20 20 41 20  -DATE.zip {.  A 
0f30: 36 34 2d 62 69 74 20 57 69 6e 64 6f 77 73 20 44  64-bit Windows D
0f40: 4c 4c 20 61 73 20 6f 66 20 56 45 52 53 49 4f 4e  LL as of VERSION
0f50: 2e 0a 20 20 53 65 65 20 74 68 65 0a 20 20 3c 61  ..  See the.  <a
0f60: 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77   href="http://ww
0f70: 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 64 72 61  w.sqlite.org/dra
0f80: 66 74 2f 72 65 6c 65 61 73 65 6c 6f 67 2f 63 75  ft/releaselog/cu
0f90: 72 72 65 6e 74 2e 68 74 6d 6c 22 3e 70 65 6e 64  rrent.html">pend
0fa0: 69 6e 67 20 63 68 61 6e 67 65 20 6c 6f 67 3c 2f  ing change log</
0fb0: 61 3e 0a 20 20 66 6f 72 20 64 65 74 61 69 6c 73  a>.  for details
0fc0: 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 7b 73 6e  ..}..Product {sn
0fd0: 61 70 73 68 6f 74 2f 73 71 6c 69 74 65 2d 73 68  apshot/sqlite-sh
0fe0: 65 6c 6c 2d 77 69 6e 33 32 2d 78 38 36 2d 44 41  ell-win32-x86-DA
0ff0: 54 45 2e 7a 69 70 7d 20 7b 0a 20 20 54 68 69 73  TE.zip} {.  This
1000: 20 69 73 20 61 20 73 6e 61 70 73 68 6f 74 20 28   is a snapshot (
1010: 61 73 20 6f 66 20 56 45 52 53 49 4f 4e 29 20 62  as of VERSION) b
1020: 75 69 6c 64 20 6f 66 20 74 68 65 20 0a 20 20 5b  uild of the .  [
1030: 43 4c 49 20 7c 20 73 71 6c 69 74 65 33 2e 65 78  CLI | sqlite3.ex
1040: 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 73  e command-line s
1050: 68 65 6c 6c 5d 0a 20 20 73 68 65 6c 6c 20 70 72  hell].  shell pr
1060: 6f 67 72 61 6d 20 66 6f 72 20 33 32 2d 62 69 74  ogram for 32-bit
1070: 20 77 69 6e 64 6f 77 73 2e 0a 7d 0a 50 72 6f 64   windows..}.Prod
1080: 75 63 74 20 7b 73 6e 61 70 73 68 6f 74 2f 73 71  uct {snapshot/sq
1090: 6c 69 74 65 2d 73 68 65 6c 6c 2d 77 69 6e 36 34  lite-shell-win64
10a0: 2d 78 36 34 2d 44 41 54 45 2e 7a 69 70 7d 20 7b  -x64-DATE.zip} {
10b0: 0a 20 20 54 68 69 73 20 69 73 20 61 20 73 6e 61  .  This is a sna
10c0: 70 73 68 6f 74 20 28 61 73 20 6f 66 20 56 45 52  pshot (as of VER
10d0: 53 49 4f 4e 29 20 62 75 69 6c 64 20 6f 66 20 74  SION) build of t
10e0: 68 65 20 0a 20 20 5b 43 4c 49 20 20 7c 20 73 71  he .  [CLI  | sq
10f0: 6c 69 74 65 33 2e 65 78 65 20 63 6f 6d 6d 61 6e  lite3.exe comman
1100: 64 2d 6c 69 6e 65 20 73 68 65 6c 6c 5d 0a 20 20  d-line shell].  
1110: 73 68 65 6c 6c 20 70 72 6f 67 72 61 6d 20 66 6f  shell program fo
1120: 72 20 36 34 2d 62 69 74 20 77 69 6e 64 6f 77 73  r 64-bit windows
1130: 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 7b 73 6e  ..}..Product {sn
1140: 61 70 73 68 6f 74 2f 73 71 6c 69 74 65 2d 77 69  apshot/sqlite-wi
1150: 6e 72 74 38 31 2d 44 41 54 45 2e 76 73 69 78 7d  nrt81-DATE.vsix}
1160: 20 7b 0a 20 20 54 68 69 73 20 69 73 20 61 20 73   {.  This is a s
1170: 6e 61 70 73 68 6f 74 20 28 61 73 20 6f 66 20 56  napshot (as of V
1180: 45 52 53 49 4f 4e 29 20 66 6f 72 0a 20 20 61 20  ERSION) for.  a 
1190: 63 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70 61  complete VSIX pa
11a0: 63 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65 78  ckage with an ex
11b0: 74 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64 20  tension SDK and 
11c0: 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e  all other compon
11d0: 65 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74 6f  ents.  needed to
11e0: 20 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72 20   use SQLite for 
11f0: 57 69 6e 52 54 20 38 2e 31 20 61 70 70 6c 69 63  WinRT 8.1 applic
1200: 61 74 69 6f 6e 20 64 65 76 65 6c 6f 70 6d 65 6e  ation developmen
1210: 74 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74  t with Visual St
1220: 75 64 69 6f 0a 20 20 32 30 31 33 2e 20 20 54 68  udio.  2013.  Th
1230: 69 73 20 69 73 20 6e 6f 74 20 61 20 72 65 6c 65  is is not a rele
1240: 61 73 65 2e 0a 7d 0a 0a 0a 48 65 61 64 69 6e 67  ase..}...Heading
1250: 20 7b 53 6f 75 72 63 65 20 43 6f 64 65 7d 0a 0a   {Source Code}..
1260: 50 72 6f 64 75 63 74 20 7b 59 45 41 52 2f 73 71  Product {YEAR/sq
1270: 6c 69 74 65 2d 61 6d 61 6c 67 61 6d 61 74 69 6f  lite-amalgamatio
1280: 6e 2d 56 56 56 2e 7a 69 70 7d 20 7b 0a 20 20 43  n-VVV.zip} {.  C
1290: 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20   source code as 
12a0: 61 6e 20 5b 61 6d 61 6c 67 61 6d 61 74 69 6f 6e  an [amalgamation
12b0: 5d 2c 20 76 65 72 73 69 6f 6e 20 56 45 52 53 49  ], version VERSI
12c0: 4f 4e 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 7b  ON..}..Product {
12d0: 59 45 41 52 2f 73 71 6c 69 74 65 2d 61 6d 61 6c  YEAR/sqlite-amal
12e0: 67 61 6d 61 74 69 6f 6e 33 32 6b 2d 56 56 56 2e  gamation32k-VVV.
12f0: 7a 69 70 7d 20 7b 0a 20 20 43 20 73 6f 75 72 63  zip} {.  C sourc
1300: 65 20 63 6f 64 65 20 61 73 20 74 68 65 20 5b 73  e code as the [s
1310: 70 6c 69 74 20 61 6d 61 6c 67 61 6d 61 74 69 6f  plit amalgamatio
1320: 6e 5d 2c 20 76 65 72 73 69 6f 6e 20 56 45 52 53  n], version VERS
1330: 49 4f 4e 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20  ION..}..Product 
1340: 7b 59 45 41 52 2f 73 71 6c 69 74 65 2d 61 75 74  {YEAR/sqlite-aut
1350: 6f 63 6f 6e 66 2d 56 56 56 2e 74 61 72 2e 67 7a  oconf-VVV.tar.gz
1360: 7d 20 7b 0a 20 20 43 20 73 6f 75 72 63 65 20 63  } {.  C source c
1370: 6f 64 65 20 61 73 20 61 6e 20 5b 61 6d 61 6c 67  ode as an [amalg
1380: 61 6d 61 74 69 6f 6e 5d 2e 20 20 41 6c 73 6f 20  amation].  Also 
1390: 69 6e 63 6c 75 64 65 73 20 61 20 22 63 6f 6e 66  includes a "conf
13a0: 69 67 75 72 65 22 20 73 63 72 69 70 74 0a 20 20  igure" script.  
13b0: 61 6e 64 20 5b 68 74 74 70 3a 2f 2f 77 77 77 2e  and [http://www.
13c0: 74 63 6c 2e 74 6b 2f 64 6f 63 2f 74 65 61 2f 7c  tcl.tk/doc/tea/|
13d0: 54 45 41 5d 20 6d 61 6b 65 66 69 6c 65 73 20 66  TEA] makefiles f
13e0: 6f 72 20 74 68 65 20 5b 54 43 4c 20 49 6e 74 65  or the [TCL Inte
13f0: 72 66 61 63 65 5d 2e 0a 7d 20 7b 61 6d 61 6c 67  rface]..} {amalg
1400: 74 61 72 62 61 6c 6c 20 7b 61 6d 61 6c 67 61 6d  tarball {amalgam
1410: 61 74 69 6f 6e 20 74 61 72 62 61 6c 6c 7d 7d 0a  ation tarball}}.
1420: 0a 0a 50 72 6f 64 75 63 74 20 7b 59 45 41 52 2f  ..Product {YEAR/
1430: 73 71 6c 69 74 65 2d 74 65 61 2d 56 56 56 2e 74  sqlite-tea-VVV.t
1440: 61 72 2e 67 7a 7d 20 7b 0a 20 20 41 20 74 61 72  ar.gz} {.  A tar
1450: 62 61 6c 6c 20 6f 66 20 74 68 65 20 5b 61 6d 61  ball of the [ama
1460: 6c 67 61 6d 61 74 69 6f 6e 5d 20 74 6f 67 65 74  lgamation] toget
1470: 68 65 72 20 77 69 74 68 20 61 0a 20 20 3c 61 20  her with a.  <a 
1480: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77  href="http://www
1490: 2e 74 63 6c 2e 74 6b 2f 64 6f 63 2f 74 65 61 2f  .tcl.tk/doc/tea/
14a0: 22 3e 54 63 6c 20 45 78 74 65 6e 73 69 6f 6e 0a  ">Tcl Extension.
14b0: 20 20 41 72 63 68 69 74 65 63 74 75 72 65 20 28    Architecture (
14c0: 54 45 41 29 3c 2f 61 3e 0a 20 20 63 6f 6d 70 61  TEA)</a>.  compa
14d0: 74 69 62 6c 65 20 63 6f 6e 66 69 67 75 72 65 20  tible configure 
14e0: 73 63 72 69 70 74 20 61 6e 64 20 6d 61 6b 65 66  script and makef
14f0: 69 6c 65 2e 0a 7d 20 7b 74 65 61 74 61 72 62 61  ile..} {teatarba
1500: 6c 6c 20 7b 54 45 41 20 74 61 72 62 61 6c 6c 7d  ll {TEA tarball}
1510: 7d 0a 0a 48 65 61 64 69 6e 67 20 7b 44 6f 63 75  }..Heading {Docu
1520: 6d 65 6e 74 61 74 69 6f 6e 7d 20 64 6f 63 63 6f  mentation} docco
1530: 0a 0a 50 72 6f 64 75 63 74 20 7b 59 45 41 52 2f  ..Product {YEAR/
1540: 73 71 6c 69 74 65 2d 64 6f 63 2d 56 56 56 2e 7a  sqlite-doc-VVV.z
1550: 69 70 7d 20 7b 0a 20 20 44 6f 63 75 6d 65 6e 74  ip} {.  Document
1560: 61 74 69 6f 6e 20 61 73 20 61 20 62 75 6e 64 6c  ation as a bundl
1570: 65 20 6f 66 20 73 74 61 74 69 63 20 48 54 4d 4c  e of static HTML
1580: 20 66 69 6c 65 73 2e 0a 7d 0a 0a 48 65 61 64 69   files..}..Headi
1590: 6e 67 20 7b 50 72 65 63 6f 6d 70 69 6c 65 64 20  ng {Precompiled 
15a0: 42 69 6e 61 72 69 65 73 20 66 6f 72 20 4c 69 6e  Binaries for Lin
15b0: 75 78 7d 20 6c 69 6e 75 78 0a 0a 50 72 6f 64 75  ux} linux..Produ
15c0: 63 74 20 59 45 41 52 2f 73 71 6c 69 74 65 2d 73  ct YEAR/sqlite-s
15d0: 68 65 6c 6c 2d 6c 69 6e 75 78 2d 78 38 36 2d 56  hell-linux-x86-V
15e0: 56 56 2e 7a 69 70 20 7b 0a 20 20 54 68 65 20 5b  VV.zip {.  The [
15f0: 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 73 68 65  command-line she
1600: 6c 6c 5d 20 70 72 6f 67 72 61 6d 20 28 76 65 72  ll] program (ver
1610: 73 69 6f 6e 20 56 45 52 53 49 4f 4e 29 2e 0a 7d  sion VERSION)..}
1620: 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73  ..Product YEAR/s
1630: 71 6c 69 74 65 2d 61 6e 61 6c 79 7a 65 72 2d 6c  qlite-analyzer-l
1640: 69 6e 75 78 2d 78 38 36 2d 56 56 56 2e 7a 69 70  inux-x86-VVV.zip
1650: 20 7b 0a 20 20 41 20 70 72 6f 67 72 61 6d 20 74   {.  A program t
1660: 6f 20 61 6e 61 6c 79 7a 65 20 68 6f 77 20 73 70  o analyze how sp
1670: 61 63 65 20 69 73 20 61 6c 6c 6f 63 61 74 65 64  ace is allocated
1680: 20 69 6e 73 69 64 65 20 61 6e 20 53 51 4c 69 74   inside an SQLit
1690: 65 20 64 61 74 61 62 61 73 65 0a 20 20 66 69 6c  e database.  fil
16a0: 65 20 28 76 65 72 73 69 6f 6e 20 56 45 52 53 49  e (version VERSI
16b0: 4f 4e 29 2e 0a 7d 0a 0a 48 65 61 64 69 6e 67 20  ON)..}..Heading 
16c0: 7b 50 72 65 63 6f 6d 70 69 6c 65 64 20 42 69 6e  {Precompiled Bin
16d0: 61 72 69 65 73 20 66 6f 72 20 4d 61 63 20 4f 53  aries for Mac OS
16e0: 20 58 20 28 78 38 36 29 7d 20 6d 61 63 0a 0a 50   X (x86)} mac..P
16f0: 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71 6c 69  roduct YEAR/sqli
1700: 74 65 2d 73 68 65 6c 6c 2d 6f 73 78 2d 78 38 36  te-shell-osx-x86
1710: 2d 56 56 56 2e 7a 69 70 20 7b 0a 20 20 54 68 65  -VVV.zip {.  The
1720: 20 5b 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 73   [command-line s
1730: 68 65 6c 6c 5d 20 70 72 6f 67 72 61 6d 20 28 76  hell] program (v
1740: 65 72 73 69 6f 6e 20 56 45 52 53 49 4f 4e 29 2e  ersion VERSION).
1750: 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52  .}..Product YEAR
1760: 2f 73 71 6c 69 74 65 2d 61 6e 61 6c 79 7a 65 72  /sqlite-analyzer
1770: 2d 6f 73 78 2d 78 38 36 2d 56 56 56 2e 7a 69 70  -osx-x86-VVV.zip
1780: 20 7b 0a 20 20 41 20 70 72 6f 67 72 61 6d 20 74   {.  A program t
1790: 6f 20 61 6e 61 6c 79 7a 65 20 68 6f 77 20 73 70  o analyze how sp
17a0: 61 63 65 20 69 73 20 61 6c 6c 6f 63 61 74 65 64  ace is allocated
17b0: 20 69 6e 73 69 64 65 20 61 6e 20 53 51 4c 69 74   inside an SQLit
17c0: 65 20 64 61 74 61 62 61 73 65 0a 20 20 66 69 6c  e database.  fil
17d0: 65 20 28 76 65 72 73 69 6f 6e 20 56 45 52 53 49  e (version VERSI
17e0: 4f 4e 29 2e 0a 7d 0a 0a 48 65 61 64 69 6e 67 20  ON)..}..Heading 
17f0: 7b 50 72 65 63 6f 6d 70 69 6c 65 64 20 42 69 6e  {Precompiled Bin
1800: 61 72 69 65 73 20 66 6f 72 20 57 69 6e 64 6f 77  aries for Window
1810: 73 7d 20 77 69 6e 33 32 0a 0a 73 65 74 20 73 74  s} win32..set st
1820: 61 72 74 20 24 6e 44 6f 77 6e 6c 6f 61 64 0a 50  art $nDownload.P
1830: 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71 6c 69  roduct YEAR/sqli
1840: 74 65 2d 73 68 65 6c 6c 2d 77 69 6e 33 32 2d 78  te-shell-win32-x
1850: 38 36 2d 56 56 56 2e 7a 69 70 20 7b 0a 20 20 54  86-VVV.zip {.  T
1860: 68 65 20 5b 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65  he [command-line
1870: 20 73 68 65 6c 6c 5d 20 70 72 6f 67 72 61 6d 20   shell] program 
1880: 28 76 65 72 73 69 6f 6e 20 56 45 52 53 49 4f 4e  (version VERSION
1890: 29 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 59 45  )..}..Product YE
18a0: 41 52 2f 73 71 6c 69 74 65 2d 64 6c 6c 2d 77 69  AR/sqlite-dll-wi
18b0: 6e 33 32 2d 78 38 36 2d 56 56 56 2e 7a 69 70 20  n32-x86-VVV.zip 
18c0: 7b 0a 20 20 33 32 2d 62 69 74 20 44 4c 4c 20 28  {.  32-bit DLL (
18d0: 78 38 36 29 20 66 6f 72 20 53 51 4c 69 74 65 20  x86) for SQLite 
18e0: 76 65 72 69 73 6f 6e 20 56 45 52 53 49 4f 4e 2e  verison VERSION.
18f0: 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52  .}..Product YEAR
1900: 2f 73 71 6c 69 74 65 2d 64 6c 6c 2d 77 69 6e 36  /sqlite-dll-win6
1910: 34 2d 78 36 34 2d 56 56 56 2e 7a 69 70 20 7b 0a  4-x64-VVV.zip {.
1920: 20 20 36 34 2d 62 69 74 20 44 4c 4c 20 28 78 36    64-bit DLL (x6
1930: 34 29 20 66 6f 72 20 53 51 4c 69 74 65 20 76 65  4) for SQLite ve
1940: 72 73 69 6f 6e 20 56 45 52 53 49 4f 4e 2e 0a 7d  rsion VERSION..}
1950: 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73  ..Product YEAR/s
1960: 71 6c 69 74 65 2d 61 6e 61 6c 79 7a 65 72 2d 77  qlite-analyzer-w
1970: 69 6e 33 32 2d 78 38 36 2d 56 56 56 2e 7a 69 70  in32-x86-VVV.zip
1980: 20 7b 0a 20 20 41 20 70 72 6f 67 72 61 6d 20 74   {.  A program t
1990: 6f 20 61 6e 61 6c 79 7a 65 20 68 6f 77 20 73 70  o analyze how sp
19a0: 61 63 65 20 69 73 20 61 6c 6c 6f 63 61 74 65 64  ace is allocated
19b0: 20 69 6e 73 69 64 65 20 61 6e 20 53 51 4c 69 74   inside an SQLit
19c0: 65 20 64 61 74 61 62 61 73 65 0a 20 20 66 69 6c  e database.  fil
19d0: 65 20 28 76 65 72 73 69 6f 6e 20 56 45 52 53 49  e (version VERSI
19e0: 4f 4e 29 2e 0a 7d 0a 0a 48 65 61 64 69 6e 67 20  ON)..}..Heading 
19f0: 7b 50 72 65 63 6f 6d 70 69 6c 65 64 20 42 69 6e  {Precompiled Bin
1a00: 61 72 69 65 73 20 66 6f 72 20 57 69 6e 64 6f 77  aries for Window
1a10: 73 20 50 68 6f 6e 65 20 38 7d 20 77 70 38 0a 0a  s Phone 8} wp8..
1a20: 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71  .Product YEAR/sq
1a30: 6c 69 74 65 2d 77 70 38 30 2d 77 69 6e 72 74 2d  lite-wp80-winrt-
1a40: 56 56 56 2e 76 73 69 78 20 7b 0a 20 20 41 20 63  VVV.vsix {.  A c
1a50: 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70 61 63  omplete VSIX pac
1a60: 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65 78 74  kage with an ext
1a70: 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64 20 61  ension SDK and a
1a80: 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65  ll other compone
1a90: 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74 6f 20  nts.  needed to 
1aa0: 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72 20 61  use SQLite for a
1ab0: 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 76 65 6c  pplication devel
1ac0: 6f 70 6d 65 6e 74 20 77 69 74 68 20 56 69 73 75  opment with Visu
1ad0: 61 6c 20 53 74 75 64 69 6f 0a 20 20 32 30 31 32  al Studio.  2012
1ae0: 20 74 61 72 67 65 74 69 6e 67 20 57 69 6e 64 6f   targeting Windo
1af0: 77 73 20 50 68 6f 6e 65 20 38 2e 30 2e 0a 7d 0a  ws Phone 8.0..}.
1b00: 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71  .Product YEAR/sq
1b10: 6c 69 74 65 2d 77 70 38 30 2d 77 69 6e 72 74 2d  lite-wp80-winrt-
1b20: 44 41 54 45 2e 76 73 69 78 20 7b 0a 20 20 41 20  DATE.vsix {.  A 
1b30: 63 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70 61  complete VSIX pa
1b40: 63 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65 78  ckage with an ex
1b50: 74 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64 20  tension SDK and 
1b60: 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e  all other compon
1b70: 65 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74 6f  ents.  needed to
1b80: 20 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72 20   use SQLite for 
1b90: 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 76 65  application deve
1ba0: 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 56 69 73  lopment with Vis
1bb0: 75 61 6c 20 53 74 75 64 69 6f 0a 20 20 32 30 31  ual Studio.  201
1bc0: 32 20 74 61 72 67 65 74 69 6e 67 20 57 69 6e 64  2 targeting Wind
1bd0: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 30 2e 0a 20  ows Phone 8.0.. 
1be0: 20 54 68 69 73 20 70 61 72 74 69 63 75 6c 61 72   This particular
1bf0: 20 56 53 49 58 20 75 73 65 73 20 61 20 73 6e 61   VSIX uses a sna
1c00: 70 73 68 6f 74 20 6f 66 20 53 51 4c 69 74 65 20  pshot of SQLite 
1c10: 61 73 20 6f 66 20 56 45 52 53 49 4f 4e 2e 0a 7d  as of VERSION..}
1c20: 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73  ..Product YEAR/s
1c30: 71 6c 69 74 65 2d 77 70 38 31 2d 77 69 6e 72 74  qlite-wp81-winrt
1c40: 2d 56 56 56 2e 76 73 69 78 20 7b 0a 20 20 41 20  -VVV.vsix {.  A 
1c50: 63 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70 61  complete VSIX pa
1c60: 63 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65 78  ckage with an ex
1c70: 74 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64 20  tension SDK and 
1c80: 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e  all other compon
1c90: 65 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74 6f  ents.  needed to
1ca0: 20 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72 20   use SQLite for 
1cb0: 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 76 65  application deve
1cc0: 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 56 69 73  lopment with Vis
1cd0: 75 61 6c 20 53 74 75 64 69 6f 0a 20 20 32 30 31  ual Studio.  201
1ce0: 33 20 74 61 72 67 65 74 69 6e 67 20 57 69 6e 64  3 targeting Wind
1cf0: 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a 7d  ows Phone 8.1..}
1d00: 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52 2f 73  ..Product YEAR/s
1d10: 71 6c 69 74 65 2d 77 70 38 31 2d 77 69 6e 72 74  qlite-wp81-winrt
1d20: 2d 44 41 54 45 2e 76 73 69 78 20 7b 0a 20 20 41  -DATE.vsix {.  A
1d30: 20 63 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70   complete VSIX p
1d40: 61 63 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65  ackage with an e
1d50: 78 74 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64  xtension SDK and
1d60: 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f   all other compo
1d70: 6e 65 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74  nents.  needed t
1d80: 6f 20 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72  o use SQLite for
1d90: 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 64 65 76   application dev
1da0: 65 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 56 69  elopment with Vi
1db0: 73 75 61 6c 20 53 74 75 64 69 6f 0a 20 20 32 30  sual Studio.  20
1dc0: 31 33 20 74 61 72 67 65 74 69 6e 67 20 57 69 6e  13 targeting Win
1dd0: 64 6f 77 73 20 50 68 6f 6e 65 20 38 2e 31 2e 0a  dows Phone 8.1..
1de0: 20 20 54 68 69 73 20 70 61 72 74 69 63 75 6c 61    This particula
1df0: 72 20 56 53 49 58 20 75 73 65 73 20 61 20 73 6e  r VSIX uses a sn
1e00: 61 70 73 68 6f 74 20 6f 66 20 53 51 4c 69 74 65  apshot of SQLite
1e10: 20 61 73 20 6f 66 20 56 45 52 53 49 4f 4e 2e 0a   as of VERSION..
1e20: 7d 0a 0a 48 65 61 64 69 6e 67 20 7b 50 72 65 63  }..Heading {Prec
1e30: 6f 6d 70 69 6c 65 64 20 42 69 6e 61 72 69 65 73  ompiled Binaries
1e40: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 52 75 6e   for Windows Run
1e50: 74 69 6d 65 7d 20 77 69 6e 72 74 0a 0a 50 72 6f  time} winrt..Pro
1e60: 64 75 63 74 20 59 45 41 52 2f 73 71 6c 69 74 65  duct YEAR/sqlite
1e70: 2d 64 6c 6c 2d 77 69 6e 72 74 2d 78 38 36 2d 56  -dll-winrt-x86-V
1e80: 56 56 2e 7a 69 70 20 7b 0a 20 20 54 68 69 73 20  VV.zip {.  This 
1e90: 5a 49 50 20 61 72 63 68 69 76 65 20 63 6f 6e 74  ZIP archive cont
1ea0: 61 69 6e 73 20 61 20 44 4c 4c 20 66 6f 72 20 74  ains a DLL for t
1eb0: 68 65 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72  he SQLite librar
1ec0: 79 20 76 65 72 73 69 6f 6e 20 56 45 52 53 49 4f  y version VERSIO
1ed0: 4e 20 66 6f 72 0a 20 20 33 32 2d 62 69 74 20 78  N for.  32-bit x
1ee0: 38 36 20 70 72 6f 63 65 73 73 6f 72 73 20 75 73  86 processors us
1ef0: 69 6e 67 20 74 68 65 20 57 69 6e 52 54 20 41 50  ing the WinRT AP
1f00: 49 2e 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 59 45  I..}..Product YE
1f10: 41 52 2f 73 71 6c 69 74 65 2d 64 6c 6c 2d 77 69  AR/sqlite-dll-wi
1f20: 6e 72 74 2d 78 36 34 2d 56 56 56 2e 7a 69 70 20  nrt-x64-VVV.zip 
1f30: 7b 0a 20 20 54 68 69 73 20 5a 49 50 20 61 72 63  {.  This ZIP arc
1f40: 68 69 76 65 20 63 6f 6e 74 61 69 6e 73 20 61 20  hive contains a 
1f50: 44 4c 4c 20 66 6f 72 20 74 68 65 20 53 51 4c 69  DLL for the SQLi
1f60: 74 65 20 6c 69 62 72 61 72 79 20 76 65 72 73 69  te library versi
1f70: 6f 6e 20 56 45 52 53 49 4f 4e 20 66 6f 72 0a 20  on VERSION for. 
1f80: 20 36 34 2d 62 69 74 20 78 36 34 20 70 72 6f 63   64-bit x64 proc
1f90: 65 73 73 6f 72 73 20 75 73 69 6e 67 20 74 68 65  essors using the
1fa0: 20 57 69 6e 52 54 20 41 50 49 2e 0a 7d 0a 0a 50   WinRT API..}..P
1fb0: 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71 6c 69  roduct YEAR/sqli
1fc0: 74 65 2d 77 69 6e 72 74 2d 56 56 56 2e 76 73 69  te-winrt-VVV.vsi
1fd0: 78 20 7b 0a 20 20 41 20 63 6f 6d 70 6c 65 74 65  x {.  A complete
1fe0: 20 56 53 49 58 20 70 61 63 6b 61 67 65 20 77 69   VSIX package wi
1ff0: 74 68 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20  th an extension 
2000: 53 44 4b 20 61 6e 64 20 61 6c 6c 20 6f 74 68 65  SDK and all othe
2010: 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 6e  r components.  n
2020: 65 65 64 65 64 20 74 6f 20 75 73 65 20 53 51 4c  eeded to use SQL
2030: 69 74 65 20 66 6f 72 20 57 69 6e 52 54 20 61 70  ite for WinRT ap
2040: 70 6c 69 63 61 74 69 6f 6e 20 64 65 76 65 6c 6f  plication develo
2050: 70 6d 65 6e 74 20 77 69 74 68 20 56 69 73 75 61  pment with Visua
2060: 6c 20 53 74 75 64 69 6f 0a 20 20 32 30 31 32 2e  l Studio.  2012.
2070: 0a 7d 0a 0a 50 72 6f 64 75 63 74 20 59 45 41 52  .}..Product YEAR
2080: 2f 73 71 6c 69 74 65 2d 77 69 6e 72 74 38 30 2d  /sqlite-winrt80-
2090: 56 56 56 2e 76 73 69 78 20 7b 0a 20 20 41 20 63  VVV.vsix {.  A c
20a0: 6f 6d 70 6c 65 74 65 20 56 53 49 58 20 70 61 63  omplete VSIX pac
20b0: 6b 61 67 65 20 77 69 74 68 20 61 6e 20 65 78 74  kage with an ext
20c0: 65 6e 73 69 6f 6e 20 53 44 4b 20 61 6e 64 20 61  ension SDK and a
20d0: 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65  ll other compone
20e0: 6e 74 73 0a 20 20 6e 65 65 64 65 64 20 74 6f 20  nts.  needed to 
20f0: 75 73 65 20 53 51 4c 69 74 65 20 66 6f 72 20 57  use SQLite for W
2100: 69 6e 52 54 20 38 2e 30 20 61 70 70 6c 69 63 61  inRT 8.0 applica
2110: 74 69 6f 6e 20 64 65 76 65 6c 6f 70 6d 65 6e 74  tion development
2120: 20 77 69 74 68 20 56 69 73 75 61 6c 20 53 74 75   with Visual Stu
2130: 64 69 6f 0a 20 20 32 30 31 32 2e 0a 7d 0a 0a 50  dio.  2012..}..P
2140: 72 6f 64 75 63 74 20 59 45 41 52 2f 73 71 6c 69  roduct YEAR/sqli
2150: 74 65 2d 77 69 6e 72 74 38 31 2d 56 56 56 2e 76  te-winrt81-VVV.v
2160: 73 69 78 20 7b 0a 20 20 41 20 63 6f 6d 70 6c 65  six {.  A comple
2170: 74 65 20 56 53 49 58 20 70 61 63 6b 61 67 65 20  te VSIX package 
2180: 77 69 74 68 20 61 6e 20 65 78 74 65 6e 73 69 6f  with an extensio
2190: 6e 20 53 44 4b 20 61 6e 64 20 61 6c 6c 20 6f 74  n SDK and all ot
21a0: 68 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20  her components. 
21b0: 20 6e 65 65 64 65 64 20 74 6f 20 75 73 65 20 53   needed to use S
21c0: 51 4c 69 74 65 20 66 6f 72 20 57 69 6e 52 54 20  QLite for WinRT 
21d0: 38 2e 31 20 61 70 70 6c 69 63 61 74 69 6f 6e 20  8.1 application 
21e0: 64 65 76 65 6c 6f 70 6d 65 6e 74 20 77 69 74 68  development with
21f0: 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 0a 20   Visual Studio. 
2200: 20 32 30 31 33 2e 0a 7d 0a 0a 69 66 20 7b 24 6e   2013..}..if {$n
2210: 44 6f 77 6e 6c 6f 61 64 3e 24 73 74 61 72 74 7d  Download>$start}
2220: 20 7b 0a 20 20 68 64 5f 70 75 74 73 20 7b 3c 74   {.  hd_puts {<t
2230: 72 3e 3c 74 64 20 63 6f 6c 73 70 61 6e 3d 22 34  r><td colspan="4
2240: 22 3e 3c 62 3e 50 72 65 63 6f 6d 70 69 6c 65 64  "><b>Precompiled
2250: 20 42 69 6e 61 72 69 65 73 20 66 6f 72 20 2e 4e   Binaries for .N
2260: 45 54 3c 2f 62 3e 3c 2f 74 64 3e 3c 2f 74 72 3e  ET</b></td></tr>
2270: 7d 0a 20 20 68 64 5f 70 75 74 73 20 22 3c 74 72  }.  hd_puts "<tr
2280: 3e 3c 74 64 20 77 69 64 74 68 3d 5c 22 31 30 5c  ><td width=\"10\
2290: 22 3e 3c 2f 74 64 3e 22 0a 20 20 68 64 5f 70 75  "></td>".  hd_pu
22a0: 74 73 20 22 3c 74 64 20 76 61 6c 69 67 6e 3d 5c  ts "<td valign=\
22b0: 22 74 6f 70 5c 22 20 61 6c 69 67 6e 3d 5c 22 72  "top\" align=\"r
22c0: 69 67 68 74 5c 22 3e 22 0a 20 20 73 65 74 20 75  ight\">".  set u
22d0: 72 6c 20 68 74 74 70 3a 2f 2f 73 79 73 74 65 6d  rl http://system
22e0: 2e 64 61 74 61 2e 73 71 6c 69 74 65 2e 6f 72 67  .data.sqlite.org
22f0: 2f 69 6e 64 65 78 2e 68 74 6d 6c 2f 64 6f 63 2f  /index.html/doc/
2300: 74 72 75 6e 6b 2f 77 77 77 2f 64 6f 77 6e 6c 6f  trunk/www/downlo
2310: 61 64 73 2e 77 69 6b 69 0a 20 20 68 64 5f 70 75  ads.wiki.  hd_pu
2320: 74 73 20 22 3c 61 20 68 72 65 66 3d 5c 22 24 75  ts "<a href=\"$u
2330: 72 6c 5c 22 3e 53 79 73 74 65 6d 2e 44 61 74 61  rl\">System.Data
2340: 2e 53 51 4c 69 74 65 3c 2f 61 3e 3c 2f 74 64 3e  .SQLite</a></td>
2350: 22 0a 20 20 68 64 5f 70 75 74 73 20 22 3c 74 64  ".  hd_puts "<td
2360: 20 77 69 64 74 68 3d 5c 22 35 5c 22 3e 3c 2f 74   width=\"5\"></t
2370: 64 3e 22 0a 20 20 68 64 5f 70 75 74 73 20 22 3c  d>".  hd_puts "<
2380: 74 64 20 76 61 6c 69 67 6e 3d 5c 22 74 6f 70 5c  td valign=\"top\
2390: 22 3e 22 0a 20 20 68 64 5f 70 75 74 73 20 22 0a  ">".  hd_puts ".
23a0: 20 20 20 20 56 69 73 69 74 20 74 68 65 20 3c 61      Visit the <a
23b0: 20 68 72 65 66 3d 5c 22 68 74 74 70 3a 2f 2f 73   href=\"http://s
23c0: 79 73 74 65 6d 2e 64 61 74 61 2e 73 71 6c 69 74  ystem.data.sqlit
23d0: 65 2e 6f 72 67 2f 5c 22 3e 53 79 73 74 65 6d 2e  e.org/\">System.
23e0: 44 61 74 61 2e 53 51 4c 69 74 65 2e 6f 72 67 0a  Data.SQLite.org.
23f0: 20 20 20 20 3c 2f 61 3e 20 77 65 62 73 69 74 65      </a> website
2400: 20 61 6e 64 20 65 73 70 65 63 69 61 6c 6c 79 20   and especially 
2410: 74 68 65 20 3c 61 20 68 72 65 66 3d 5c 22 24 75  the <a href=\"$u
2420: 72 6c 5c 22 3e 64 6f 77 6e 6c 6f 61 64 20 70 61  rl\">download pa
2430: 67 65 3c 2f 61 3e 20 66 6f 72 0a 20 20 20 20 73  ge</a> for.    s
2440: 6f 75 72 63 65 20 63 6f 64 65 20 61 6e 64 20 62  ource code and b
2450: 69 6e 61 72 69 65 73 20 6f 66 20 53 51 4c 69 74  inaries of SQLit
2460: 65 20 66 6f 72 20 2e 4e 45 54 2e 3c 2f 74 64 3e  e for .NET.</td>
2470: 3c 2f 74 72 3e 0a 20 20 22 0a 7d 0a 0a 48 65 61  </tr>.  ".}..Hea
2480: 64 69 6e 67 20 7b 41 6c 74 65 72 6e 61 74 69 76  ding {Alternativ
2490: 65 20 53 6f 75 72 63 65 20 43 6f 64 65 20 46 6f  e Source Code Fo
24a0: 72 6d 61 74 73 7d 20 6f 6c 64 0a 0a 50 72 6f 64  rmats} old..Prod
24b0: 75 63 74 20 7b 59 45 41 52 2f 73 71 6c 69 74 65  uct {YEAR/sqlite
24c0: 2d 73 72 63 2d 56 56 56 2e 7a 69 70 7d 20 7b 0a  -src-VVV.zip} {.
24d0: 20 20 53 6e 61 70 73 68 6f 70 20 6f 66 20 74 68    Snapshop of th
24e0: 65 20 63 6f 6d 70 6c 65 74 65 20 28 72 61 77 29  e complete (raw)
24f0: 20 73 6f 75 72 63 65 20 74 72 65 65 20 66 6f 72   source tree for
2500: 20 53 51 4c 69 74 65 20 76 65 72 73 69 6f 6e 20   SQLite version 
2510: 56 45 52 53 49 4f 4e 2e 0a 20 20 53 65 65 20 5b  VERSION..  See [
2520: 48 6f 77 20 54 6f 20 43 6f 6d 70 69 6c 65 20 53  How To Compile S
2530: 51 4c 69 74 65 5d 20 66 6f 72 20 75 73 61 67 65  QLite] for usage
2540: 20 64 65 74 61 69 6c 73 2e 0a 7d 0a 0a 50 72 6f   details..}..Pro
2550: 64 75 63 74 20 7b 59 45 41 52 2f 73 71 6c 69 74  duct {YEAR/sqlit
2560: 65 2d 70 72 65 70 72 6f 63 65 73 73 65 64 2d 56  e-preprocessed-V
2570: 56 56 2e 7a 69 70 7d 20 7b 0a 20 20 50 72 65 70  VV.zip} {.  Prep
2580: 72 6f 63 65 73 73 65 64 20 43 20 73 6f 75 72 63  rocessed C sourc
2590: 65 73 20 66 6f 72 20 53 51 4c 69 74 65 20 76 65  es for SQLite ve
25a0: 72 73 69 6f 6e 20 56 45 52 53 49 4f 4e 2e 0a 7d  rsion VERSION..}
25b0: 0a 0a 0a 3c 2f 74 63 6c 3e 0a 3c 2f 74 61 62 6c  ...</tcl>.</tabl
25c0: 65 3e 0a 3c 68 72 3e 0a 0a 3c 74 63 6c 3e 68 64  e>.<hr>..<tcl>hd
25d0: 5f 66 72 61 67 6d 65 6e 74 20 65 6e 63 6f 64 69  _fragment encodi
25e0: 6e 67 20 7b 62 75 69 6c 64 20 70 72 6f 64 75 63  ng {build produc
25f0: 74 20 6e 61 6d 65 73 7d 3c 2f 74 63 6c 3e 0a 3c  t names}</tcl>.<
2600: 68 33 3e 42 75 69 6c 64 20 50 72 6f 64 75 63 74  h3>Build Product
2610: 20 4e 61 6d 65 73 3c 2f 68 33 3e 0a 0a 3c 70 3e   Names</h3>..<p>
2620: 0a 42 75 69 6c 64 20 70 72 6f 64 75 63 74 73 20  .Build products 
2630: 61 72 65 20 6e 61 6d 65 64 20 75 73 69 6e 67 20  are named using 
2640: 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f  one of the follo
2650: 77 69 6e 67 20 74 65 6d 70 6c 61 74 65 73 3a 0a  wing templates:.
2660: 0a 3c 6f 6c 3e 0a 3c 6c 69 3e 20 3c 62 3e 73 71  .<ol>.<li> <b>sq
2670: 6c 69 74 65 2d 3c 2f 62 3e 70 72 6f 64 75 63 74  lite-</b>product
2680: 3c 62 3e 2d 3c 2f 62 3e 76 65 72 73 69 6f 6e 3c  <b>-</b>version<
2690: 62 3e 2e 7a 69 70 3c 2f 62 3e 0a 3c 6c 69 3e 20  b>.zip</b>.<li> 
26a0: 3c 62 3e 73 71 6c 69 74 65 2d 3c 2f 62 3e 70 72  <b>sqlite-</b>pr
26b0: 6f 64 75 63 74 3c 62 3e 2d 3c 2f 62 3e 76 65 72  oduct<b>-</b>ver
26c0: 73 69 6f 6e 3c 62 3e 2e 74 61 72 2e 67 7a 3c 2f  sion<b>.tar.gz</
26d0: 62 3e 0a 3c 6c 69 3e 20 3c 62 3e 73 71 6c 69 74  b>.<li> <b>sqlit
26e0: 65 2d 3c 2f 62 3e 70 72 6f 64 75 63 74 3c 62 3e  e-</b>product<b>
26f0: 2d 3c 2f 62 3e 6f 73 3c 62 3e 2d 3c 2f 62 3e 63  -</b>os<b>-</b>c
2700: 70 75 3c 62 3e 2d 3c 2f 62 3e 76 65 72 73 69 6f  pu<b>-</b>versio
2710: 6e 3c 62 3e 2e 7a 69 70 3c 2f 62 3e 0a 3c 6c 69  n<b>.zip</b>.<li
2720: 3e 20 3c 62 3e 73 71 6c 69 74 65 2d 3c 2f 62 3e  > <b>sqlite-</b>
2730: 70 72 6f 64 75 63 74 3c 62 3e 2d 3c 2f 62 3e 64  product<b>-</b>d
2740: 61 74 65 3c 62 3e 2e 7a 69 70 3c 2f 62 3e 0a 3c  ate<b>.zip</b>.<
2750: 2f 6f 6c 3e 0a 0a 3c 70 3e 54 65 6d 70 6c 61 74  /ol>..<p>Templat
2760: 65 73 20 28 31 29 20 61 6e 64 20 28 32 29 20 61  es (1) and (2) a
2770: 72 65 20 75 73 65 64 20 66 6f 72 20 73 6f 75 72  re used for sour
2780: 63 65 2d 63 6f 64 65 20 70 72 6f 64 75 63 74 73  ce-code products
2790: 2e 20 20 54 65 6d 70 6c 61 74 65 20 28 31 29 20  .  Template (1) 
27a0: 69 73 0a 75 73 65 64 20 66 6f 72 20 67 65 6e 65  is.used for gene
27b0: 72 69 63 20 73 6f 75 72 63 65 2d 63 6f 64 65 20  ric source-code 
27c0: 70 72 6f 64 75 63 74 73 20 61 6e 64 20 74 65 6d  products and tem
27d0: 70 6c 61 74 65 73 20 28 32 29 20 69 73 20 75 73  plates (2) is us
27e0: 65 64 20 66 6f 72 20 73 6f 75 72 63 65 2d 63 6f  ed for source-co
27f0: 64 65 0a 70 72 6f 64 75 63 74 73 20 74 68 61 74  de.products that
2800: 20 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 20 6f   are generally o
2810: 6e 6c 79 20 75 73 65 66 75 6c 20 6f 6e 20 75 6e  nly useful on un
2820: 69 78 2d 6c 69 6b 65 20 70 6c 61 74 66 6f 72 6d  ix-like platform
2830: 73 2e 20 20 54 65 6d 70 6c 61 74 65 20 28 33 29  s.  Template (3)
2840: 0a 69 73 20 75 73 65 64 20 66 6f 72 20 70 72 65  .is used for pre
2850: 63 6f 6d 70 69 6c 65 64 20 62 69 6e 61 72 69 65  compiled binarie
2860: 73 20 70 72 6f 64 75 63 74 73 2e 20 20 54 65 6d  s products.  Tem
2870: 70 6c 61 74 65 20 28 34 29 20 69 73 20 75 73 65  plate (4) is use
2880: 64 20 66 6f 72 0a 75 6e 6f 66 66 69 63 69 61 6c  d for.unofficial
2890: 20 70 72 65 2d 72 65 6c 65 61 73 65 20 22 73 6e   pre-release "sn
28a0: 61 70 73 68 6f 74 73 22 20 6f 66 20 73 6f 75 72  apshots" of sour
28b0: 63 65 20 63 6f 64 65 2e 0a 0a 3c 70 3e 54 68 65  ce code...<p>The
28c0: 20 3c 69 3e 76 65 72 73 69 6f 6e 3c 2f 69 3e 20   <i>version</i> 
28d0: 69 73 20 65 6e 63 6f 64 65 64 20 73 6f 20 74 68  is encoded so th
28e0: 61 74 20 66 69 6c 65 6e 61 6d 65 73 20 73 6f 72  at filenames sor
28f0: 74 20 69 6e 20 6f 72 64 65 72 20 6f 66 0a 69 6e  t in order of.in
2900: 63 72 65 61 73 69 6e 67 20 76 65 72 73 69 6f 6e  creasing version
2910: 20 6e 75 6d 62 65 72 20 77 68 65 6e 20 76 69 65   number when vie
2920: 77 65 64 20 75 73 69 6e 67 20 22 6c 73 22 2e 20  wed using "ls". 
2930: 20 46 6f 72 20 76 65 72 73 69 6f 6e 20 33 2e 58   For version 3.X
2940: 2e 59 20 74 68 65 0a 66 69 6c 65 6e 61 6d 65 20  .Y the.filename 
2950: 65 6e 63 6f 64 69 6e 67 20 69 73 20 33 58 58 59  encoding is 3XXY
2960: 59 30 30 2e 20 20 46 6f 72 20 62 72 61 6e 63 68  Y00.  For branch
2970: 20 76 65 72 73 69 6f 6e 20 33 2e 58 2e 59 2e 5a   version 3.X.Y.Z
2980: 2c 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 69  , the encoding i
2990: 73 0a 33 58 58 59 59 5a 5a 2e 0a 0a 3c 70 3e 54  s.3XXYYZZ...<p>T
29a0: 68 65 20 3c 69 3e 64 61 74 65 3c 2f 69 3e 20 69  he <i>date</i> i
29b0: 6e 20 74 65 6d 70 6c 61 74 65 20 28 34 29 20 69  n template (4) i
29c0: 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 3a 20 59  s of the form: Y
29d0: 59 59 59 4d 4d 44 44 48 48 4d 4d 0a 0a 3c 61 20  YYYMMDDHHMM..<a 
29e0: 6e 61 6d 65 3d 22 63 76 73 22 3e 3c 2f 61 3e 0a  name="cvs"></a>.
29f0: 3c 61 20 6e 61 6d 65 3d 22 66 6f 73 73 69 6c 22  <a name="fossil"
2a00: 3e 3c 2f 61 3e 0a 3c 74 63 6c 3e 68 64 5f 66 72  ></a>.<tcl>hd_fr
2a10: 61 67 6d 65 6e 74 20 73 72 63 74 72 65 65 20 7b  agment srctree {
2a20: 53 51 4c 69 74 65 20 73 6f 75 72 63 65 20 63 6f  SQLite source co
2a30: 64 65 20 72 65 70 6f 73 69 74 6f 72 69 65 73 7d  de repositories}
2a40: 20 7b 63 6f 64 65 20 72 65 70 6f 73 69 74 6f 72   {code repositor
2a50: 69 65 73 7d 3c 2f 74 63 6c 3e 0a 3c 68 33 3e 53  ies}</tcl>.<h3>S
2a60: 6f 75 72 63 65 20 43 6f 64 65 20 52 65 70 6f 73  ource Code Repos
2a70: 69 74 6f 72 69 65 73 3c 2f 68 33 3e 0a 0a 3c 70  itories</h3>..<p
2a80: 3e 0a 54 68 65 20 53 51 4c 69 74 65 20 73 6f 75  >.The SQLite sou
2a90: 72 63 65 20 63 6f 64 65 20 69 73 20 6d 61 69 6e  rce code is main
2aa0: 74 61 69 6e 65 64 20 69 6e 20 74 68 72 65 65 20  tained in three 
2ab0: 67 65 6f 67 72 61 70 68 69 63 61 6c 6c 79 2d 64  geographically-d
2ac0: 69 73 70 65 72 73 65 64 0a 73 65 6c 66 2d 73 79  ispersed.self-sy
2ad0: 6e 63 68 72 6f 6e 69 7a 69 6e 67 0a 5b 68 74 74  nchronizing.[htt
2ae0: 70 3a 2f 2f 77 77 77 2e 66 6f 73 73 69 6c 2d 73  p://www.fossil-s
2af0: 63 6d 2e 6f 72 67 2f 20 7c 20 46 6f 73 73 69 6c  cm.org/ | Fossil
2b00: 5d 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74  ] repositories t
2b10: 68 61 74 20 61 72 65 0a 61 76 61 69 6c 61 62 6c  hat are.availabl
2b20: 65 20 66 6f 72 20 61 6e 6f 6e 79 6d 6f 75 73 20  e for anonymous 
2b30: 72 65 61 64 2d 6f 6e 6c 79 20 61 63 63 65 73 73  read-only access
2b40: 2e 20 20 41 6e 79 6f 6e 65 20 63 61 6e 20 0a 76  .  Anyone can .v
2b50: 69 65 77 20 74 68 65 20 72 65 70 6f 73 69 74 6f  iew the reposito
2b60: 72 79 20 63 6f 6e 74 65 6e 74 73 20 61 6e 64 20  ry contents and 
2b70: 64 6f 77 6e 6c 6f 61 64 20 68 69 73 74 6f 72 69  download histori
2b80: 63 61 6c 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20  cal versions.of 
2b90: 69 6e 64 69 76 69 64 75 61 6c 20 66 69 6c 65 73  individual files
2ba0: 20 6f 72 20 5a 49 50 20 61 72 63 68 69 76 65 73   or ZIP archives
2bb0: 20 6f 66 20 68 69 73 74 6f 72 69 63 61 6c 20 63   of historical c
2bc0: 68 65 63 6b 2d 69 6e 73 2e 0a 59 6f 75 20 63 61  heck-ins..You ca
2bd0: 6e 20 61 6c 73 6f 20 5b 63 6c 6f 6e 65 20 74 68  n also [clone th
2be0: 65 20 65 6e 74 69 72 65 20 72 65 70 6f 73 69 74  e entire reposit
2bf0: 6f 72 79 5d 2e 3c 2f 70 3e 0a 0a 3c 70 3e 53 65  ory].</p>..<p>Se
2c00: 65 20 74 68 65 20 5b 48 6f 77 20 54 6f 20 43 6f  e the [How To Co
2c10: 6d 70 69 6c 65 20 53 51 4c 69 74 65 5d 20 70 61  mpile SQLite] pa
2c20: 67 65 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61  ge for additiona
2c30: 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 6f 6e  l information.on
2c40: 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20   how to use the 
2c50: 72 61 77 20 53 51 4c 69 74 65 20 73 6f 75 72 63  raw SQLite sourc
2c60: 65 20 63 6f 64 65 2e 0a 4e 6f 74 65 20 74 68 61  e code..Note tha
2c70: 74 20 61 20 72 65 63 65 6e 74 20 76 65 72 73 69  t a recent versi
2c80: 6f 6e 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 68  on of <a href="h
2c90: 74 74 70 3a 2f 2f 77 77 77 2e 74 63 6c 2e 74 6b  ttp://www.tcl.tk
2ca0: 2f 22 3e 54 63 6c 3c 2f 61 3e 0a 69 73 20 72 65  /">Tcl</a>.is re
2cb0: 71 75 69 72 65 64 20 69 6e 20 6f 72 64 65 72 20  quired in order 
2cc0: 74 6f 20 62 75 69 6c 64 20 66 72 6f 6d 20 74 68  to build from th
2cd0: 65 20 72 65 70 6f 73 69 74 6f 72 79 20 73 6f 75  e repository sou
2ce0: 72 63 65 73 2e 20 0a 54 68 65 20 5b 61 6d 61 6c  rces. .The [amal
2cf0: 67 61 6d 61 74 69 6f 6e 5d 20 73 6f 75 72 63 65  gamation] source
2d00: 20 63 6f 64 65 20 66 69 6c 65 73 0a 28 74 68 65   code files.(the
2d10: 20 22 73 71 6c 69 74 65 33 2e 63 22 20 61 6e 64   "sqlite3.c" and
2d20: 20 22 73 71 6c 69 74 65 33 2e 68 22 20 66 69 6c   "sqlite3.h" fil
2d30: 65 73 29 20 62 75 69 6c 64 20 70 72 6f 64 75 63  es) build produc
2d40: 74 73 20 61 6e 64 20 61 72 65 0a 6e 6f 74 20 63  ts and are.not c
2d50: 6f 6e 74 61 69 6e 65 64 20 69 6e 20 72 61 77 20  ontained in raw 
2d60: 73 6f 75 72 63 65 20 63 6f 64 65 20 74 72 65 65  source code tree
2d70: 2e 3c 2f 70 3e 0a 0a 3c 62 6c 6f 63 6b 71 75 6f  .</p>..<blockquo
2d80: 74 65 3e 0a 3c 61 20 68 72 65 66 3d 22 68 74 74  te>.<a href="htt
2d90: 70 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f  p://www.sqlite.o
2da0: 72 67 2f 63 67 69 2f 73 72 63 22 3e 68 74 74 70  rg/cgi/src">http
2db0: 3a 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72  ://www.sqlite.or
2dc0: 67 2f 63 67 69 2f 73 72 63 3c 2f 61 3e 20 28 44  g/cgi/src</a> (D
2dd0: 61 6c 6c 61 73 29 3c 62 72 3e 0a 3c 61 20 68 72  allas)<br>.<a hr
2de0: 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 32 2e  ef="http://www2.
2df0: 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f 73  sqlite.org/cgi/s
2e00: 72 63 22 3e 68 74 74 70 3a 2f 2f 77 77 77 32 2e  rc">http://www2.
2e10: 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f 73  sqlite.org/cgi/s
2e20: 72 63 3c 2f 61 3e 20 28 4e 65 77 61 72 6b 29 3c  rc</a> (Newark)<
2e30: 62 72 3e 0a 3c 61 20 68 72 65 66 3d 22 68 74 74  br>.<a href="htt
2e40: 70 3a 2f 2f 77 77 77 33 2e 73 71 6c 69 74 65 2e  p://www3.sqlite.
2e50: 6f 72 67 2f 63 67 69 2f 73 72 63 22 3e 68 74 74  org/cgi/src">htt
2e60: 70 3a 2f 2f 77 77 77 33 2e 73 71 6c 69 74 65 2e  p://www3.sqlite.
2e70: 6f 72 67 2f 63 67 69 2f 73 72 63 3c 2f 61 3e 20  org/cgi/src</a> 
2e80: 28 46 72 65 6d 6f 6e 74 29 3c 62 72 3e 0a 3c 2f  (Fremont)<br>.</
2e90: 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 0a 3c 70 3e  blockquote>..<p>
2ea0: 54 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  The documentatio
2eb0: 6e 20 69 73 20 6d 61 69 6e 74 61 69 6e 65 64 20  n is maintained 
2ec0: 69 6e 20 73 65 70 61 72 61 74 65 0a 5b 68 74 74  in separate.[htt
2ed0: 70 3a 2f 2f 77 77 77 2e 66 6f 73 73 69 6c 2d 73  p://www.fossil-s
2ee0: 63 6d 2e 6f 72 67 2f 20 7c 20 46 6f 73 73 69 6c  cm.org/ | Fossil
2ef0: 5d 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 6c  ] repositories l
2f00: 6f 63 61 74 65 64 0a 61 74 3a 3c 2f 70 3e 0a 0a  ocated.at:</p>..
2f10: 3c 62 6c 6f 63 6b 71 75 6f 74 65 3e 0a 3c 61 20  <blockquote>.<a 
2f20: 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77  href="http://www
2f30: 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f  .sqlite.org/cgi/
2f40: 64 6f 63 73 72 63 22 3e 68 74 74 70 3a 2f 2f 77  docsrc">http://w
2f50: 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67  ww.sqlite.org/cg
2f60: 69 2f 64 6f 63 73 72 63 3c 2f 61 3e 20 28 44 61  i/docsrc</a> (Da
2f70: 6c 6c 61 73 29 3c 62 72 3e 0a 3c 61 20 68 72 65  llas)<br>.<a hre
2f80: 66 3d 22 68 74 74 70 3a 2f 2f 77 77 77 32 2e 73  f="http://www2.s
2f90: 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f 64 6f  qlite.org/cgi/do
2fa0: 63 73 72 63 22 3e 68 74 74 70 3a 2f 2f 77 77 77  csrc">http://www
2fb0: 32 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69  2.sqlite.org/cgi
2fc0: 2f 64 6f 63 73 72 63 3c 2f 61 3e 20 28 4e 65 77  /docsrc</a> (New
2fd0: 61 72 6b 29 3c 62 72 3e 0a 3c 61 20 68 72 65 66  ark)<br>.<a href
2fe0: 3d 22 68 74 74 70 3a 2f 2f 77 77 77 33 2e 73 71  ="http://www3.sq
2ff0: 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f 64 6f 63  lite.org/cgi/doc
3000: 73 72 63 22 3e 68 74 74 70 3a 2f 2f 77 77 77 33  src">http://www3
3010: 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 63 67 69 2f  .sqlite.org/cgi/
3020: 64 6f 63 73 72 63 3c 2f 61 3e 20 28 46 72 65 6d  docsrc</a> (Frem
3030: 6f 6e 74 29 3c 62 72 3e 0a 3c 2f 62 6c 6f 63 6b  ont)<br>.</block
3040: 71 75 6f 74 65 3e 0a 3c 74 63 6c 3e 0a 70 72 6f  quote>.<tcl>.pro
3050: 63 20 73 65 74 5f 64 6f 77 6e 6c 6f 61 64 5f 68  c set_download_h
3060: 79 70 65 72 6c 69 6e 6b 73 20 7b 7d 20 7b 0a 20  yperlinks {} {. 
3070: 20 73 65 74 20 73 63 72 69 70 74 20 22 3c 73 63   set script "<sc
3080: 72 69 70 74 20 74 79 70 65 3d 27 74 65 78 74 2f  ript type='text/
3090: 4a 61 76 61 53 63 72 69 70 74 27 3e 5c 6e 22 0a  JavaScript'>\n".
30a0: 20 20 61 70 70 65 6e 64 20 73 63 72 69 70 74 20    append script 
30b0: 22 2f 2a 20 3c 21 5c 5b 43 44 41 54 41 5c 5b 20  "/* <!\[CDATA\[ 
30c0: 2a 2f 5c 6e 22 0a 20 20 61 70 70 65 6e 64 20 73  */\n".  append s
30d0: 63 72 69 70 74 20 22 66 75 6e 63 74 69 6f 6e 20  cript "function 
30e0: 61 64 63 65 34 64 30 31 36 64 36 63 64 28 29 5c  adce4d016d6cd()\
30f0: 31 37 33 5c 6e 22 0a 20 20 61 70 70 65 6e 64 20  173\n".  append 
3100: 73 63 72 69 70 74 20 22 66 75 6e 63 74 69 6f 6e  script "function
3110: 20 64 33 39 31 28 61 2c 62 29 7b 64 6f 63 75 6d   d391(a,b){docum
3120: 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 79  ent.getElementBy
3130: 49 64 28 61 29 2e 68 72 65 66 3d 62 3b 7d 5c 6e  Id(a).href=b;}\n
3140: 22 0a 20 20 67 6c 6f 62 61 6c 20 68 72 65 66 0a  ".  global href.
3150: 20 20 66 6f 72 65 61 63 68 20 7b 69 20 68 7d 20    foreach {i h} 
3160: 5b 61 72 72 61 79 20 67 65 74 20 68 72 65 66 5d  [array get href]
3170: 20 7b 61 70 70 65 6e 64 20 73 63 72 69 70 74 20   {append script 
3180: 22 64 33 39 31 28 27 24 69 27 2c 27 24 68 27 29  "d391('$i','$h')
3190: 3b 5c 6e 22 7d 0a 20 20 61 70 70 65 6e 64 20 73  ;\n"}.  append s
31a0: 63 72 69 70 74 20 22 5c 31 37 35 5c 6e 22 0a 20  cript "\175\n". 
31b0: 20 61 70 70 65 6e 64 20 73 63 72 69 70 74 20 22   append script "
31c0: 73 65 74 54 69 6d 65 6f 75 74 28 27 61 64 63 65  setTimeout('adce
31d0: 34 64 30 31 36 64 36 63 64 28 29 3b 27 2c 31 30  4d016d6cd();',10
31e0: 29 3b 5c 6e 22 0a 20 20 61 70 70 65 6e 64 20 73  );\n".  append s
31f0: 63 72 69 70 74 20 22 2f 2a 20 5c 5d 5c 5d 3e 20  cript "/* \]\]> 
3200: 2a 2f 5c 6e 22 0a 20 20 61 70 70 65 6e 64 20 73  */\n".  append s
3210: 63 72 69 70 74 20 22 3c 2f 73 63 72 69 70 74 3e  cript "</script>
3220: 5c 6e 22 0a 20 20 68 64 5f 70 75 74 73 20 24 73  \n".  hd_puts $s
3230: 63 72 69 70 74 0a 7d 0a 73 65 74 5f 64 6f 77 6e  cript.}.set_down
3240: 6c 6f 61 64 5f 68 79 70 65 72 6c 69 6e 6b 73 0a  load_hyperlinks.
3250: 3c 2f 74 63 6c 3e 0a                             </tcl>.