I noticed that when --linemacros option is used, line numbers are wrong, often by one line, sometimes more. This is due to bug in mksqlite3c.tcl tool, that output nothing when #include line is skipped. Trivial patch below.
Index: sqlite3-3.8.10.2/tool/mksqlite3c.tcl =================================================================== --- sqlite3-3.8.10.2.orig/tool/mksqlite3c.tcl +++ sqlite3-3.8.10.2/tool/mksqlite3c.tcl @@ -187,6 +187,8 @@ proc copy_file {filename} { copy_file tsrc/$hdr section_comment "Continuing where we left off in $tail" if {$linemacros} {puts $out "#line [expr {$ln+1}] \"$filename\""} + } else { + puts $out "/* include \"$hdr\" */" } } elseif {![info exists seen_hdr($hdr)]} { if {![regexp {/\*\s+amalgamator:\s+dontcache\s+\*/} $line]} {