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

Side by Side Diff: third_party/sqlite/sqlite-src-3170000/ext/fts5/tool/mkfts5c.tcl

Issue 2747283002: [sql] Import reference version of SQLite 3.17.. (Closed)
Patch Set: Created 3 years, 9 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
(Empty)
1 #!/bin/sh
2 # restart with tclsh \
3 exec tclsh "$0" "$@"
4
5 set srcdir [file dirname [file dirname [info script]]]
6 set G(src) [string map [list %dir% $srcdir] {
7 %dir%/fts5.h
8 %dir%/fts5Int.h
9 fts5parse.h
10 fts5parse.c
11 %dir%/fts5_aux.c
12 %dir%/fts5_buffer.c
13 %dir%/fts5_config.c
14 %dir%/fts5_expr.c
15 %dir%/fts5_hash.c
16 %dir%/fts5_index.c
17 %dir%/fts5_main.c
18 %dir%/fts5_storage.c
19 %dir%/fts5_tokenize.c
20 %dir%/fts5_unicode2.c
21 %dir%/fts5_varint.c
22 %dir%/fts5_vocab.c
23 }]
24
25 set G(hdr) {
26
27 #if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5)
28
29 #if !defined(NDEBUG) && !defined(SQLITE_DEBUG)
30 # define NDEBUG 1
31 #endif
32 #if defined(NDEBUG) && defined(SQLITE_DEBUG)
33 # undef NDEBUG
34 #endif
35
36 }
37
38 set G(footer) {
39
40 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5) */
41 }
42
43 #-------------------------------------------------------------------------
44 # Read and return the entire contents of text file $zFile from disk.
45 #
46 proc readfile {zFile} {
47 set fd [open $zFile]
48 set data [read $fd]
49 close $fd
50 return $data
51 }
52
53 #-------------------------------------------------------------------------
54 # This command returns a string identifying the current sqlite version -
55 # the equivalent of the SQLITE_SOURCE_ID string.
56 #
57 proc fts5_source_id {zDir} {
58 set top [file dirname [file dirname $zDir]]
59 set uuid [string trim [readfile [file join $top manifest.uuid]]]
60
61 set L [split [readfile [file join $top manifest]]]
62 set date [lindex $L [expr [lsearch -exact $L D]+1]]
63 set date [string range $date 0 [string last . $date]-1]
64 set date [string map {T { }} $date]
65
66 return "fts5: $date $uuid"
67 }
68
69 proc fts5c_init {zOut} {
70 global G
71 set G(fd) stdout
72 set G(fd) [open $zOut w]
73
74 puts -nonewline $G(fd) $G(hdr)
75 }
76
77 proc fts5c_printfile {zIn} {
78 global G
79 set data [readfile $zIn]
80 set zTail [file tail $zIn]
81 puts $G(fd) "#line 1 \"$zTail\""
82
83 set sub_map [list --FTS5-SOURCE-ID-- [fts5_source_id $::srcdir]]
84 if {$zTail=="fts5parse.c"} {
85 lappend sub_map yy fts5yy YY fts5YY TOKEN FTS5TOKEN
86 }
87
88 foreach line [split $data "\n"] {
89 if {[regexp {^#include.*fts5} $line]} {
90 set line "/* $line */"
91 } elseif {
92 ![regexp { sqlite3Fts5Init\(} $line]
93 && [regexp {^(const )?[a-zA-Z][a-zA-Z0-9]* [*]?sqlite3Fts5} $line]
94 } {
95 set line "static $line"
96 }
97 set line [string map $sub_map $line]
98 puts $G(fd) $line
99 }
100 }
101
102 proc fts5c_close {} {
103 global G
104 puts -nonewline $G(fd) $G(footer)
105 if {$G(fd)!="stdout"} {
106 close $G(fd)
107 }
108 }
109
110
111 fts5c_init fts5.c
112 foreach f $G(src) { fts5c_printfile $f }
113 fts5c_close
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698