]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Modify mksqlite3c.tcl so that it inserts SQLITE_API macros into sqlite3.h. Ticket...
authordanielk1977 <danielk1977@noemail.net>
Wed, 22 Jul 2009 18:24:53 +0000 (18:24 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Wed, 22 Jul 2009 18:24:53 +0000 (18:24 +0000)
FossilOrigin-Name: 803ec79f3b05fdd680f9ab762685bbd50a087b9b

manifest
manifest.uuid
tool/mksqlite3c.tcl

index 9f3b14d46d37eb3008bc8bb715d1135c1e445eb7..a5f7c5cc35f7ae985755d0e382205cb32de87db0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Simplifications\sto\sbtree.c\sin\ssupport\sof\scoverage\stesting.\s(CVS\s6923)
-D 2009-07-22T18:07:41
+C Modify\smksqlite3c.tcl\sso\sthat\sit\sinserts\sSQLITE_API\smacros\sinto\ssqlite3.h.\sTicket\s#3983.\s(CVS\s6924)
+D 2009-07-22T18:24:54
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in df9359da7a726ccb67a45db905c5447d5c00c6ef
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -726,7 +726,7 @@ F tool/lempar.c 2ed70b3fc896a47e07fedfe543324f008f53d223
 F tool/mkkeywordhash.c 511a848b2ac7a3d93f36adc1e1086b4c5741224b
 F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e x
 F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
-F tool/mksqlite3c.tcl 2057e08b259f249a0c4c0170b436b2c2378b2245
+F tool/mksqlite3c.tcl 666e5a61fe7ef2692835a08a60013d0552ad704f
 F tool/mksqlite3internalh.tcl 7b43894e21bcb1bb39e11547ce7e38a063357e87
 F tool/omittest.tcl 27d6f6e3b1e95aeb26a1c140e6eb57771c6d794a
 F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
@@ -741,7 +741,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
-P 2594f01c73301f9432be9d007a079a19a3d383f9
-R 03f11c535350a2a8405771e3c1db3be7
-U drh
-Z 9fd8a2f528377ba3ce110f614bfe1ae6
+P 375fd6f9c54fa5aa8cfae30845c7bfc0ec49e8fa
+R f2c5a9364fc57c0663cfd0bb1d794a61
+U danielk1977
+Z b281c46d3b56ab640d5620716ac447c6
index 3cf56993b238136c6fa3492e9a5d514d6c8d4e85..b7b68a60efd955c62d506121e655be8cac74e8b1 100644 (file)
@@ -1 +1 @@
-375fd6f9c54fa5aa8cfae30845c7bfc0ec49e8fa
\ No newline at end of file
+803ec79f3b05fdd680f9ab762685bbd50a087b9b
\ No newline at end of file
index dfc28124247d9cdb81dd902d1f788276740d09a5..143f0e64b46534f6b19daba5b61144b174d0c708 100644 (file)
@@ -304,3 +304,37 @@ foreach file {
 }
 
 close $out
+
+# This block overwrites the copy of sqlite3.h in the current directory.
+#
+# It copies tsrc/sqlite3.h to ./sqlite3.h, adding SQLITE_API in front of the
+# API functions and global variables as it goes. 
+#
+set fd_in [open tsrc/sqlite3.h r]
+set fd_out [open sqlite3.h w]
+while {![eof $fd_in]} {
+  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 line [gets $fd_in]
+  if {[regexp {define SQLITE_EXTERN extern} $line]} {
+    puts $fd_out $line
+    puts $fd_out [gets $fd_in]
+    puts $fd_out ""
+    puts $fd_out "#ifndef SQLITE_API"
+    puts $fd_out "# define SQLITE_API"
+    puts $fd_out "#endif"
+    set line ""
+  }
+
+  if {([regexp $varpattern $line] && ![regexp {^ *typedef} $line])
+   || ([regexp $declpattern $line])
+  } {
+    set line "SQLITE_API $line"
+  }
+  puts $fd_out $line
+}
+close $fd_out
+close $fd_in
+
+