From: danielk1977 Date: Wed, 22 Jul 2009 18:24:53 +0000 (+0000) Subject: Modify mksqlite3c.tcl so that it inserts SQLITE_API macros into sqlite3.h. Ticket... X-Git-Tag: cvs-to-fossil-cutover~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=440637eb46b6cef89e840ff3c6549fea5ea22442;p=thirdparty%2Fsqlite.git Modify mksqlite3c.tcl so that it inserts SQLITE_API macros into sqlite3.h. Ticket #3983. (CVS 6924) FossilOrigin-Name: 803ec79f3b05fdd680f9ab762685bbd50a087b9b --- diff --git a/manifest b/manifest index 9f3b14d46d..a5f7c5cc35 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 3cf56993b2..b7b68a60ef 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -375fd6f9c54fa5aa8cfae30845c7bfc0ec49e8fa \ No newline at end of file +803ec79f3b05fdd680f9ab762685bbd50a087b9b \ No newline at end of file diff --git a/tool/mksqlite3c.tcl b/tool/mksqlite3c.tcl index dfc2812424..143f0e64b4 100644 --- a/tool/mksqlite3c.tcl +++ b/tool/mksqlite3c.tcl @@ -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 + +