| Index: third_party/sqlite/src/tool/mksqlite3c.tcl | 
| diff --git a/third_party/sqlite/src/tool/mksqlite3c.tcl b/third_party/sqlite/src/tool/mksqlite3c.tcl | 
| index df2df076fdb6e349168db41435c6fcfc2bd6de8c..9e2b0fe517353dc00614fc012797a02e79413118 100644 | 
| --- a/third_party/sqlite/src/tool/mksqlite3c.tcl | 
| +++ b/third_party/sqlite/src/tool/mksqlite3c.tcl | 
| @@ -23,7 +23,7 @@ | 
| # | 
|  | 
| # Begin by reading the "sqlite3.h" header file.  Extract the version number | 
| -# from in this file.  The versioon number is needed to generate the header | 
| +# from in this file.  The version number is needed to generate the header | 
| # comment of the amalgamation. | 
| # | 
| if {[lsearch $argv --nostatic]>=0} { | 
| @@ -31,6 +31,11 @@ if {[lsearch $argv --nostatic]>=0} { | 
| } else { | 
| set addstatic 1 | 
| } | 
| +if {[lsearch $argv --linemacros]>=0} { | 
| +  set linemacros 1 | 
| +} else { | 
| +  set linemacros 0 | 
| +} | 
| set in [open tsrc/sqlite3.h] | 
| set cnt 0 | 
| set VERSION ????? | 
| @@ -46,6 +51,8 @@ close $in | 
| # of the file. | 
| # | 
| set out [open sqlite3.c w] | 
| +# Force the output to use unix line endings, even on Windows. | 
| +fconfigure $out -translation lf | 
| set today [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S UTC" -gmt 1] | 
| puts $out [subst \ | 
| {/****************************************************************************** | 
| @@ -96,8 +103,9 @@ foreach hdr { | 
| mutex.h | 
| opcodes.h | 
| os_common.h | 
| +   os_setup.h | 
| +   os_win.h | 
| os.h | 
| -   os_os2.h | 
| pager.h | 
| parse.h | 
| pcache.h | 
| @@ -110,6 +118,7 @@ foreach hdr { | 
| vdbe.h | 
| vdbeInt.h | 
| wal.h | 
| +   whereInt.h | 
| } { | 
| set available_hdr($hdr) 1 | 
| } | 
| @@ -131,12 +140,14 @@ proc section_comment {text} { | 
|  | 
| # Read the source file named $filename and write it into the | 
| # sqlite3.c output file.  If any #include statements are seen, | 
| -# process them approprately. | 
| +# process them appropriately. | 
| # | 
| proc copy_file {filename} { | 
| -  global seen_hdr available_hdr out addstatic | 
| +  global seen_hdr available_hdr out addstatic linemacros | 
| +  set ln 0 | 
| set tail [file tail $filename] | 
| section_comment "Begin file $tail" | 
| +  if {$linemacros} {puts $out "#line 1 \"$filename\""} | 
| set in [open $filename r] | 
| set varpattern {^[a-zA-Z][a-zA-Z_0-9 *]+(sqlite3[_a-zA-Z0-9]+)(\[|;| =)} | 
| set declpattern {[a-zA-Z][a-zA-Z_0-9 ]+ \**(sqlite3[_a-zA-Z0-9]+)\(} | 
| @@ -146,6 +157,7 @@ proc copy_file {filename} { | 
| set declpattern ^$declpattern | 
| while {![eof $in]} { | 
| set line [gets $in] | 
| +    incr ln | 
| if {[regexp {^\s*#\s*include\s+["<]([^">]+)[">]} $line all hdr]} { | 
| if {[info exists available_hdr($hdr)]} { | 
| if {$available_hdr($hdr)} { | 
| @@ -155,14 +167,25 @@ proc copy_file {filename} { | 
| section_comment "Include $hdr in the middle of $tail" | 
| copy_file tsrc/$hdr | 
| section_comment "Continuing where we left off in $tail" | 
| +          if {$linemacros} {puts $out "#line [expr {$ln+1}] \"$filename\""} | 
| } | 
| } elseif {![info exists seen_hdr($hdr)]} { | 
| -        set seen_hdr($hdr) 1 | 
| +        if {![regexp {/\*\s+amalgamator:\s+dontcache\s+\*/} $line]} { | 
| +          set seen_hdr($hdr) 1 | 
| +        } | 
| puts $out $line | 
| +      } elseif {[regexp {/\*\s+amalgamator:\s+keep\s+\*/} $line]} { | 
| +        # This include file must be kept because there was a "keep" | 
| +        # directive inside of a line comment. | 
| +        puts $out $line | 
| +      } else { | 
| +        # Comment out the entire line, replacing any nested comment | 
| +        # begin/end markers with the harmless substring "**". | 
| +        puts $out "/* [string map [list /* ** */ **] $line] */" | 
| } | 
| } elseif {[regexp {^#ifdef __cplusplus} $line]} { | 
| puts $out "#if 0" | 
| -    } elseif {[regexp {^#line} $line]} { | 
| +    } elseif {!$linemacros && [regexp {^#line} $line]} { | 
| # Skip #line directives. | 
| } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} { | 
| regsub {^SQLITE_API } $line {} line | 
| @@ -225,18 +248,17 @@ foreach file { | 
| mem5.c | 
| mutex.c | 
| mutex_noop.c | 
| -   mutex_os2.c | 
| mutex_unix.c | 
| mutex_w32.c | 
| malloc.c | 
| printf.c | 
| random.c | 
| +   threads.c | 
| utf.c | 
| util.c | 
| hash.c | 
| opcodes.c | 
|  | 
| -   os_os2.c | 
| os_unix.c | 
| os_win.c | 
|  | 
| @@ -257,6 +279,7 @@ foreach file { | 
| vdbetrace.c | 
| vdbe.c | 
| vdbeblob.c | 
| +   vdbesort.c | 
| journal.c | 
| memjournal.c | 
|  | 
| @@ -302,8 +325,11 @@ foreach file { | 
| fts3_porter.c | 
| fts3_tokenizer.c | 
| fts3_tokenizer1.c | 
| +   fts3_tokenize_vtab.c | 
| fts3_write.c | 
| fts3_snippet.c | 
| +   fts3_unicode.c | 
| +   fts3_unicode2.c | 
|  | 
| rtree.c | 
| icu.c | 
|  |