]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add script to amalgamate all LSM files into "lsm1.c".
authordan <dan@noemail.net>
Wed, 13 Dec 2017 14:22:48 +0000 (14:22 +0000)
committerdan <dan@noemail.net>
Wed, 13 Dec 2017 14:22:48 +0000 (14:22 +0000)
FossilOrigin-Name: e32b69d73062e233b0ac853611d10b24546a346a603289ab0e339a3604ae2af4

ext/lsm1/tool/mklsm1c.tcl [new file with mode: 0644]
main.mk
manifest
manifest.uuid

diff --git a/ext/lsm1/tool/mklsm1c.tcl b/ext/lsm1/tool/mklsm1c.tcl
new file mode 100644 (file)
index 0000000..d4a317b
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/sh
+# restart with tclsh \
+exec tclsh "$0" "$@"
+
+set srcdir [file dirname [file dirname [info script]]]
+set G(src) [string map [list %dir% $srcdir] {
+  %dir%/lsm.h
+  %dir%/lsmInt.h
+  %dir%/lsm_vtab.c
+  %dir%/lsm_ckpt.c
+  %dir%/lsm_file.c
+  %dir%/lsm_log.c
+  %dir%/lsm_main.c
+  %dir%/lsm_mem.c
+  %dir%/lsm_mutex.c
+  %dir%/lsm_shared.c
+  %dir%/lsm_sorted.c
+  %dir%/lsm_str.c
+  %dir%/lsm_tree.c
+  %dir%/lsm_unix.c
+  %dir%/lsm_varint.c
+  %dir%/lsm_win32.c
+}]
+
+set G(hdr) {
+
+#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_LSM1) 
+
+#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) 
+# define NDEBUG 1
+#endif
+#if defined(NDEBUG) && defined(SQLITE_DEBUG)
+# undef NDEBUG
+#endif
+
+}
+
+set G(footer) {
+    
+#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_LSM1) */
+}
+
+#-------------------------------------------------------------------------
+# Read and return the entire contents of text file $zFile from disk.
+#
+proc readfile {zFile} {
+  set fd [open $zFile]
+  set data [read $fd]
+  close $fd
+  return $data
+}
+
+proc lsm1c_init {zOut} {
+  global G
+  set G(fd) stdout
+  set G(fd) [open $zOut w]
+
+  puts -nonewline $G(fd) $G(hdr)
+}
+
+proc lsm1c_printfile {zIn} {
+  global G
+  set data [readfile $zIn]
+  set zTail [file tail $zIn]
+  puts $G(fd) "#line 1 \"$zTail\""
+
+  foreach line [split $data "\n"] {
+    if {[regexp {^# *include.*lsm} $line]} {
+      set line "/* $line */"
+    } elseif { [regexp {^(const )?[a-zA-Z][a-zA-Z0-9]* [*]?lsm[^_]} $line] } {
+      set line "static $line"
+    }
+    puts $G(fd) $line
+  }
+}
+
+proc lsm1c_close {} {
+  global G
+  puts -nonewline $G(fd) $G(footer)
+  if {$G(fd)!="stdout"} {
+    close $G(fd)
+  }
+}
+
+
+lsm1c_init lsm1.c
+foreach f $G(src) { lsm1c_printfile $f }
+lsm1c_close
diff --git a/main.mk b/main.mk
index d8660fc17b8390d52a409bb00d7c4e96ec3b23f8..e978b23a58b8bcc451740192c54dc186750c70cb 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -263,6 +263,24 @@ FTS5_SRC = \
    $(TOP)/ext/fts5/fts5_varint.c \
    $(TOP)/ext/fts5/fts5_vocab.c  \
 
+LSM1_SRC = \
+   $(TOP)/ext/lsm1/lsm.h \
+   $(TOP)/ext/lsm1/lsmInt.h \
+   $(TOP)/ext/lsm1/lsm_ckpt.c \
+   $(TOP)/ext/lsm1/lsm_file.c \
+   $(TOP)/ext/lsm1/lsm_log.c \
+   $(TOP)/ext/lsm1/lsm_main.c \
+   $(TOP)/ext/lsm1/lsm_mem.c \
+   $(TOP)/ext/lsm1/lsm_mutex.c \
+   $(TOP)/ext/lsm1/lsm_shared.c \
+   $(TOP)/ext/lsm1/lsm_sorted.c \
+   $(TOP)/ext/lsm1/lsm_str.c \
+   $(TOP)/ext/lsm1/lsm_tree.c \
+   $(TOP)/ext/lsm1/lsm_unix.c \
+   $(TOP)/ext/lsm1/lsm_varint.c \
+   $(TOP)/ext/lsm1/lsm_vtab.c \
+   $(TOP)/ext/lsm1/lsm_win32.c
+
 
 # Generated source code files
 #
@@ -766,6 +784,10 @@ fts5.c: $(FTS5_SRC) $(FTS5_HDR)
        tclsh $(TOP)/ext/fts5/tool/mkfts5c.tcl
        cp $(TOP)/ext/fts5/fts5.h .
 
+lsm1.c: $(LSM1_SRC)
+       tclsh $(TOP)/ext/lsm1/tool/mklsm1c.tcl
+       cp $(TOP)/ext/lsm1/lsm.h .
+
 userauth.o:    $(TOP)/ext/userauth/userauth.c $(HDR) $(EXTHDR)
        $(TCCX) -DSQLITE_CORE -c $(TOP)/ext/userauth/userauth.c
 
@@ -1019,3 +1041,4 @@ clean:
        rm -f fuzzcheck fuzzcheck.exe
        rm -f sqldiff sqldiff.exe
        rm -f fts5.* fts5parse.*
+       rm -f lsm.h lsm1.c
index cdf085dc662c86709d11912254aa4a282c74fd85..cad9609c6b85bdcc30c947063c4b3f015a0be3ec 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Minor\senhancement\sto\stwo\sassert()\sstatements\sin\sthe\sdefault\sVFSes.
-D 2017-12-13T10:11:09.727
+C Add\sscript\sto\samalgamate\sall\sLSM\sfiles\sinto\s"lsm1.c".
+D 2017-12-13T14:22:48.449
 F Makefile.in 6a879cbf01e37f9eac131414955f71774b566502d9a57ded1b8585b507503cb8
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e5d7606238f55816da99f719969598df5b091aa2e9a6935c9412fcae8f53fc44
@@ -256,6 +256,7 @@ F ext/lsm1/lsm_vtab.c 529255dc704289001b225d97e57e0cfa14b29c3f281c7349cfa8fdb655
 F ext/lsm1/lsm_win32.c 0a4acbd7e8d136dd3a5753f0a9e7a9802263a9d96cef3278cf120bcaa724db7c
 F ext/lsm1/test/lsm1_common.tcl 5ed4bab07c93be2e4f300ebe46007ecf4b3e20bc5fbe1dedaf04a8774a6d8d82
 F ext/lsm1/test/lsm1_simple.test ca949efefa102f4644231dcd9291d8cda7699a4ce1006b26e0e3fcb72233f422
+F ext/lsm1/tool/mklsm1c.tcl f31561bbee5349f0a554d1ad7236ac1991fc09176626f529f6078e07335398b0
 F ext/misc/README.md 8e008c8d2b02e09096b31dfba033253ac27c6c06a18aa5826e299fa7601d90b2
 F ext/misc/amatch.c 6db4607cb17c54b853a2d7c7c36046d004853f65b9b733e6f019d543d5dfae87
 F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
@@ -394,7 +395,7 @@ F ext/userauth/userauth.c 3410be31283abba70255d71fd24734e017a4497f
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
-F main.mk fbe15be384ec172be0cc30efc91cda61ca16bd5d833e8b812cf653ccb0c74977
+F main.mk 6123b0b2db806ddb482c24786ad6603a289df720382a3bce8f532d76a94c84b1
 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@ -1679,7 +1680,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 92fc146bc2b781e7e2d7138b00e5ea649c6fee1c2b8449420460a1b3e5c9661b
-R 001c7e37a1fb8cc134a2537ef8c0ad1e
-U drh
-Z d178c4b2ec00ed03598e2a437f7153cc
+P 9cede8a83ca4cd88d504050115e1e89e7b3d3cd3cb2ffb5b8961e311a23ff5e2
+R 0bb1b86efd302c3523a2137056206a8a
+U dan
+Z 0df44b61ec124ac51afd1eb16b579be7
index a972d08bb5b31e951663461924696810874389b6..f9c2f8f2b4476e44fb2e1d8a252d497d692e0a23 100644 (file)
@@ -1 +1 @@
-9cede8a83ca4cd88d504050115e1e89e7b3d3cd3cb2ffb5b8961e311a23ff5e2
\ No newline at end of file
+e32b69d73062e233b0ac853611d10b24546a346a603289ab0e339a3604ae2af4
\ No newline at end of file