Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/sqlite/sqlite-src-3080704/tool/mksqlite3c-noext.tcl

Issue 883353008: [sql] Import reference version of SQLite 3.8.7.4. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hold back encoding change which is messing up patch. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/tclsh 1 #!/usr/bin/tclsh
2 # 2 #
3 # To build a single huge source file holding all of SQLite (or at 3 # To build a single huge source file holding all of SQLite (or at
4 # least the core components - the test harness, shell, and TCL 4 # least the core components - the test harness, shell, and TCL
5 # interface are omitted.) first do 5 # interface are omitted.) first do
6 # 6 #
7 # make target_source 7 # make target_source
8 # 8 #
9 # The make target above moves all of the source code files into 9 # The make target above moves all of the source code files into
10 # a subdirectory named "tsrc". (This script expects to find the files 10 # a subdirectory named "tsrc". (This script expects to find the files
(...skipping 13 matching lines...) Expand all
24 24
25 # Begin by reading the "sqlite3.h" header file. Extract the version number 25 # Begin by reading the "sqlite3.h" header file. Extract the version number
26 # from in this file. The versioon number is needed to generate the header 26 # from in this file. The versioon number is needed to generate the header
27 # comment of the amalgamation. 27 # comment of the amalgamation.
28 # 28 #
29 if {[lsearch $argv --nostatic]>=0} { 29 if {[lsearch $argv --nostatic]>=0} {
30 set addstatic 0 30 set addstatic 0
31 } else { 31 } else {
32 set addstatic 1 32 set addstatic 1
33 } 33 }
34 if {[lsearch $argv --linemacros]>=0} {
35 set linemacros 1
36 } else {
37 set linemacros 0
38 }
34 set in [open tsrc/sqlite3.h] 39 set in [open tsrc/sqlite3.h]
35 set cnt 0 40 set cnt 0
36 set VERSION ????? 41 set VERSION ?????
37 while {![eof $in]} { 42 while {![eof $in]} {
38 set line [gets $in] 43 set line [gets $in]
39 if {$line=="" && [eof $in]} break 44 if {$line=="" && [eof $in]} break
40 incr cnt 45 incr cnt
41 regexp {#define\s+SQLITE_VERSION\s+"(.*)"} $line all VERSION 46 regexp {#define\s+SQLITE_VERSION\s+"(.*)"} $line all VERSION
42 } 47 }
43 close $in 48 close $in
44 49
45 # Open the output file and write a header comment at the beginning 50 # Open the output file and write a header comment at the beginning
46 # of the file. 51 # of the file.
47 # 52 #
48 set out [open sqlite3.c w] 53 set out [open sqlite3.c w]
54 # Force the output to use unix line endings, even on Windows.
55 fconfigure $out -translation lf
49 set today [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S UTC" -gmt 1] 56 set today [clock format [clock seconds] -format "%Y-%m-%d %H:%M:%S UTC" -gmt 1]
50 puts $out [subst \ 57 puts $out [subst \
51 {/****************************************************************************** 58 {/******************************************************************************
52 ** This file is an amalgamation of many separate C source files from SQLite 59 ** This file is an amalgamation of many separate C source files from SQLite
53 ** version $VERSION. By combining all the individual C code files into this 60 ** version $VERSION. By combining all the individual C code files into this
54 ** single large file, the entire code can be compiled as a single translation 61 ** single large file, the entire code can be compiled as a single translation
55 ** unit. This allows many compilers to do optimizations that would not be 62 ** unit. This allows many compilers to do optimizations that would not be
56 ** possible if the files were compiled separately. Performance improvements 63 ** possible if the files were compiled separately. Performance improvements
57 ** of 5% or more are commonly seen when SQLite is compiled as a single 64 ** of 5% or more are commonly seen when SQLite is compiled as a single
58 ** translation unit. 65 ** translation unit.
(...skipping 20 matching lines...) Expand all
79 #endif} 86 #endif}
80 } 87 }
81 88
82 # These are the header files used by SQLite. The first time any of these 89 # These are the header files used by SQLite. The first time any of these
83 # files are seen in a #include statement in the C code, include the complete 90 # files are seen in a #include statement in the C code, include the complete
84 # text of the file in-line. The file only needs to be included once. 91 # text of the file in-line. The file only needs to be included once.
85 # 92 #
86 foreach hdr { 93 foreach hdr {
87 btree.h 94 btree.h
88 btreeInt.h 95 btreeInt.h
89 fts3.h
90 fts3Int.h
91 fts3_hash.h
92 fts3_tokenizer.h
93 hash.h 96 hash.h
94 hwtime.h 97 hwtime.h
95 keywordhash.h 98 keywordhash.h
96 mutex.h 99 mutex.h
97 opcodes.h 100 opcodes.h
98 os_common.h 101 os_common.h
102 os_setup.h
103 os_win.h
99 os.h 104 os.h
100 os_os2.h
101 pager.h 105 pager.h
102 parse.h 106 parse.h
103 pcache.h 107 pcache.h
104 rtree.h
105 sqlite3ext.h 108 sqlite3ext.h
106 sqlite3.h 109 sqlite3.h
107 sqliteicu.h 110 sqliteicu.h
108 sqliteInt.h 111 sqliteInt.h
109 sqliteLimit.h 112 sqliteLimit.h
110 vdbe.h 113 vdbe.h
111 vdbeInt.h 114 vdbeInt.h
112 wal.h 115 wal.h
113 } { 116 } {
114 set available_hdr($hdr) 1 117 set available_hdr($hdr) 1
(...skipping 12 matching lines...) Expand all
127 set nstar [expr {60 - $n}] 130 set nstar [expr {60 - $n}]
128 set stars [string range $s78 0 $nstar] 131 set stars [string range $s78 0 $nstar]
129 puts $out "/************** $text $stars/" 132 puts $out "/************** $text $stars/"
130 } 133 }
131 134
132 # Read the source file named $filename and write it into the 135 # Read the source file named $filename and write it into the
133 # sqlite3.c output file. If any #include statements are seen, 136 # sqlite3.c output file. If any #include statements are seen,
134 # process them approprately. 137 # process them approprately.
135 # 138 #
136 proc copy_file {filename} { 139 proc copy_file {filename} {
137 global seen_hdr available_hdr out addstatic 140 global seen_hdr available_hdr out addstatic linemacros
141 set ln 0
138 set tail [file tail $filename] 142 set tail [file tail $filename]
139 section_comment "Begin file $tail" 143 section_comment "Begin file $tail"
144 if {$linemacros} {puts $out "#line 1 \"$filename\""}
140 set in [open $filename r] 145 set in [open $filename r]
141 set varpattern {^[a-zA-Z][a-zA-Z_0-9 *]+(sqlite3[_a-zA-Z0-9]+)(\[|;| =)} 146 set varpattern {^[a-zA-Z][a-zA-Z_0-9 *]+(sqlite3[_a-zA-Z0-9]+)(\[|;| =)}
142 set declpattern {[a-zA-Z][a-zA-Z_0-9 ]+ \**(sqlite3[_a-zA-Z0-9]+)\(} 147 set declpattern {[a-zA-Z][a-zA-Z_0-9 ]+ \**(sqlite3[_a-zA-Z0-9]+)\(}
143 if {[file extension $filename]==".h"} { 148 if {[file extension $filename]==".h"} {
144 set declpattern " *$declpattern" 149 set declpattern " *$declpattern"
145 } 150 }
146 set declpattern ^$declpattern 151 set declpattern ^$declpattern
147 while {![eof $in]} { 152 while {![eof $in]} {
148 set line [gets $in] 153 set line [gets $in]
154 incr ln
149 if {[regexp {^\s*#\s*include\s+["<]([^">]+)[">]} $line all hdr]} { 155 if {[regexp {^\s*#\s*include\s+["<]([^">]+)[">]} $line all hdr]} {
150 if {[info exists available_hdr($hdr)]} { 156 if {[info exists available_hdr($hdr)]} {
151 if {$available_hdr($hdr)} { 157 if {$available_hdr($hdr)} {
152 if {$hdr!="os_common.h" && $hdr!="hwtime.h"} { 158 if {$hdr!="os_common.h" && $hdr!="hwtime.h"} {
153 set available_hdr($hdr) 0 159 set available_hdr($hdr) 0
154 } 160 }
155 section_comment "Include $hdr in the middle of $tail" 161 section_comment "Include $hdr in the middle of $tail"
156 copy_file tsrc/$hdr 162 copy_file tsrc/$hdr
157 section_comment "Continuing where we left off in $tail" 163 section_comment "Continuing where we left off in $tail"
164 if {$linemacros} {puts $out "#line [expr {$ln+1}] \"$filename\""}
158 } 165 }
159 } elseif {![info exists seen_hdr($hdr)]} { 166 } elseif {![info exists seen_hdr($hdr)]} {
160 set seen_hdr($hdr) 1 167 set seen_hdr($hdr) 1
161 puts $out $line 168 puts $out $line
169 } else {
170 puts $out "/* $line */"
162 } 171 }
163 } elseif {[regexp {^#ifdef __cplusplus} $line]} { 172 } elseif {[regexp {^#ifdef __cplusplus} $line]} {
164 puts $out "#if 0" 173 puts $out "#if 0"
165 } elseif {[regexp {^#line} $line]} { 174 } elseif {!$linemacros && [regexp {^#line} $line]} {
166 # Skip #line directives. 175 # Skip #line directives.
167 } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} { 176 } elseif {$addstatic && ![regexp {^(static|typedef)} $line]} {
168 regsub {^SQLITE_API } $line {} line 177 regsub {^SQLITE_API } $line {} line
169 if {[regexp $declpattern $line all funcname]} { 178 if {[regexp $declpattern $line all funcname]} {
170 # Add the SQLITE_PRIVATE or SQLITE_API keyword before functions. 179 # Add the SQLITE_PRIVATE or SQLITE_API keyword before functions.
171 # so that linkage can be modified at compile-time. 180 # so that linkage can be modified at compile-time.
172 if {[regexp {^sqlite3_} $funcname]} { 181 if {[regexp {^sqlite3_} $funcname]} {
173 puts $out "SQLITE_API $line" 182 puts $out "SQLITE_API $line"
174 } else { 183 } else {
175 puts $out "SQLITE_PRIVATE $line" 184 puts $out "SQLITE_PRIVATE $line"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 os.c 227 os.c
219 228
220 fault.c 229 fault.c
221 mem0.c 230 mem0.c
222 mem1.c 231 mem1.c
223 mem2.c 232 mem2.c
224 mem3.c 233 mem3.c
225 mem5.c 234 mem5.c
226 mutex.c 235 mutex.c
227 mutex_noop.c 236 mutex_noop.c
228 mutex_os2.c
229 mutex_unix.c 237 mutex_unix.c
230 mutex_w32.c 238 mutex_w32.c
231 malloc.c 239 malloc.c
232 printf.c 240 printf.c
233 random.c 241 random.c
242 threads.c
234 utf.c 243 utf.c
235 util.c 244 util.c
236 hash.c 245 hash.c
237 opcodes.c 246 opcodes.c
238 247
239 os_os2.c
240 os_unix.c 248 os_unix.c
241 os_win.c 249 os_win.c
242 250
243 bitvec.c 251 bitvec.c
244 pcache.c 252 pcache.c
245 pcache1.c 253 pcache1.c
246 rowset.c 254 rowset.c
247 pager.c 255 pager.c
248 wal.c 256 wal.c
249 257
250 btmutex.c 258 btmutex.c
251 btree.c 259 btree.c
252 backup.c 260 backup.c
253 261
254 vdbemem.c 262 vdbemem.c
255 vdbeaux.c 263 vdbeaux.c
256 vdbeapi.c 264 vdbeapi.c
257 vdbetrace.c 265 vdbetrace.c
258 vdbe.c 266 vdbe.c
259 vdbeblob.c 267 vdbeblob.c
268 vdbesort.c
260 journal.c 269 journal.c
261 memjournal.c 270 memjournal.c
262 271
263 walker.c 272 walker.c
264 resolve.c 273 resolve.c
265 expr.c 274 expr.c
266 alter.c 275 alter.c
267 analyze.c 276 analyze.c
268 attach.c 277 attach.c
269 auth.c 278 auth.c
(...skipping 15 matching lines...) Expand all
285 vtab.c 294 vtab.c
286 where.c 295 where.c
287 296
288 parse.c 297 parse.c
289 298
290 tokenize.c 299 tokenize.c
291 complete.c 300 complete.c
292 301
293 main.c 302 main.c
294 notify.c 303 notify.c
295
296 fts3.c
297 fts3_aux.c
298 fts3_expr.c
299 fts3_hash.c
300 fts3_porter.c
301 fts3_tokenizer.c
302 fts3_tokenizer1.c
303 fts3_write.c
304 fts3_snippet.c
305
306 rtree.c
307 icu.c
308 fts3_icu.c
309 } { 304 } {
310 copy_file tsrc/$file 305 copy_file tsrc/$file
311 } 306 }
312 307
313 close $out 308 close $out
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/tool/mksqlite3c.tcl ('k') | third_party/sqlite/sqlite-src-3080704/tool/mksqlite3h.tcl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698