/ Check-in [2fca6d78]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Avoid commenting out #include statements when building the amalgamation source code file.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | cygwinTempPath
Files: files | file ages | folders
SHA1: 2fca6d784b000fd3a4d6890e38a0b087767f3a7f
User & Date: mistachkin 2013-08-31 05:46:42
Context
2013-08-31
17:01
Enhancements to the Win32 API definition macros. check-in: b1811baa user: mistachkin tags: cygwinTempPath
05:46
Avoid commenting out #include statements when building the amalgamation source code file. check-in: 2fca6d78 user: mistachkin tags: cygwinTempPath
05:13
Fix harmless MSVC compiler warning with MEMDEBUG defined. check-in: b48cfd2d user: mistachkin tags: cygwinTempPath
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to tool/mksqlite3c.tcl.

133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
...
162
163
164
165
166
167
168
169
170


171
172
173
174
175
176
177
178
179
180
  set nstar [expr {60 - $n}]
  set stars [string range $s78 0 $nstar]
  puts $out "/************** $text $stars/"
}

# Read the source file named $filename and write it into the
# sqlite3.c output file.  If any #include statements are seen,
# process them approprately.
#
proc copy_file {filename} {
  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]+)\(}
................................................................................
            set available_hdr($hdr) 0
          }
          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


        puts $out $line
      } else {
        puts $out "/* $line */"
      }
    } elseif {[regexp {^#ifdef __cplusplus} $line]} {
      puts $out "#if 0"
    } elseif {!$linemacros && [regexp {^#line} $line]} {
      # Skip #line directives.
    } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} {
      regsub {^SQLITE_API } $line {} line







|


|







 







|
|
>
>

<
|







133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
...
162
163
164
165
166
167
168
169
170
171
172
173

174
175
176
177
178
179
180
181
  set nstar [expr {60 - $n}]
  set stars [string range $s78 0 $nstar]
  puts $out "/************** $text $stars/"
}

# Read the source file named $filename and write it into the
# sqlite3.c output file.  If any #include statements are seen,
# process them appropriately.
#
proc copy_file {filename} {
  global 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]+)\(}
................................................................................
            set available_hdr($hdr) 0
          }
          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\""}
        }
      } else {
        set suffix [string toupper [string map [list / _ . _] $hdr]]
        puts $out "#ifndef SQLITE_HEADER_$suffix"
        puts $out "#define SQLITE_HEADER_$suffix"
        puts $out $line

        puts $out "#endif"
      }
    } elseif {[regexp {^#ifdef __cplusplus} $line]} {
      puts $out "#if 0"
    } elseif {!$linemacros && [regexp {^#line} $line]} {
      # Skip #line directives.
    } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} {
      regsub {^SQLITE_API } $line {} line