]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Split wasmfs-enabled build of sqlite3.js/wasm into sqlite3-wasmfs.js/wasm, as enablin...
authorstephan <stephan@noemail.net>
Thu, 15 Sep 2022 03:09:00 +0000 (03:09 +0000)
committerstephan <stephan@noemail.net>
Thu, 15 Sep 2022 03:09:00 +0000 (03:09 +0000)
FossilOrigin-Name: 08476f3c218d45846e7496bdae0b06e2122466111fdf2aa2aabb1805b15ef982

ext/wasm/GNUmakefile
ext/wasm/index.html
ext/wasm/kvvfs.make
ext/wasm/scratchpad-opfs-worker2.js
ext/wasm/scratchpad-wasmfs-main.html [moved from ext/wasm/scratchpad-opfs-main.html with 94% similarity]
ext/wasm/scratchpad-wasmfs-main.js [moved from ext/wasm/scratchpad-opfs-main.js with 100% similarity]
ext/wasm/testing-worker1-promiser.js
ext/wasm/wasmfs.make [new file with mode: 0644]
manifest
manifest.uuid

index ff37281ea4075af555cf136e0a8e0627f1977b48..3e1bc90248eea38f539cd6e1b8233bd620e94048 100644 (file)
@@ -199,22 +199,13 @@ emcc.jsflags += -sEXPORTED_RUNTIME_METHODS=FS,wasmMemory,allocateUTF8OnStack
 emcc.jsflags += -sUSE_CLOSURE_COMPILER=0
 emcc.jsflags += -sIMPORTED_MEMORY
 emcc.environment := -sENVIRONMENT=web
-ENABLE_WASMFS ?= 0
-ifneq (0,$(ENABLE_WASMFS))
-  emcc.cflags += -pthread
-  emcc.jsflags += -pthread -sWASMFS -sPTHREAD_POOL_SIZE=2
-  emcc.cflags += '-DSQLITE_DEFAULT_UNIX_VFS="unix-none"'
-  emcc.environment := $(emcc.environment),worker
-  emcc.jsflags += -sINITIAL_MEMORY=128450560
-else
-  emcc.jsflags += -sALLOW_MEMORY_GROWTH
-  # emcc: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code
-  #       slowly, see https://github.com/WebAssembly/design/issues/1271
-  #       [-Wpthreads-mem-growth]
-  emcc.jsflags += -sINITIAL_MEMORY=13107200
-  #emcc.jsflags += -sINITIAL_MEMORY=64225280
-  # ^^^^ 64MB is not enough for WASMFS/OPFS test runs using batch-runner.js
-endif
+emcc.jsflags += -sALLOW_MEMORY_GROWTH
+# emcc: warning: USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code
+#       slowly, see https://github.com/WebAssembly/design/issues/1271
+#       [-Wpthreads-mem-growth]
+emcc.jsflags += -sINITIAL_MEMORY=13107200
+#emcc.jsflags += -sINITIAL_MEMORY=64225280
+# ^^^^ 64MB is not enough for WASMFS/OPFS test runs using batch-runner.js
 emcc.jsflags += $(emcc.environment)
 #emcc.jsflags += -sTOTAL_STACK=4194304
 emcc.jsflags += -sEXPORT_NAME=sqlite3InitModule
@@ -274,7 +265,6 @@ sqlite3.wasm := sqlite3.wasm
 sqlite3-wasm.o := $(dir.api)/sqlite3-wasm.o
 $(sqlite3-wasm.o): emcc.cflags += $(SQLITE_OPT)
 $(sqlite3-wasm.o): $(dir.top)/sqlite3.c
-$(dir.api)/wasm_util.o: emcc.cflags += $(SQLITE_OPT)
 sqlite3-wasm.c := $(dir.api)/sqlite3-wasm.c
 jaccwabyt_test.c := $(dir.jacc)/jaccwabyt_test.c
 # ^^^ FIXME (how?): jaccwabyt_test.c is only needed for the test apps,
@@ -282,9 +272,6 @@ jaccwabyt_test.c := $(dir.jacc)/jaccwabyt_test.c
 # want to test the release builds with those apps, so we cannot simply
 # elide that file in release builds. That component is critical to the
 # VFS bindings so needs to be tested along with the core APIs.
-ifneq (,$(filter -sWASMFS,$(emcc.jsflags)))
-  $(sqlite3-wasm.o): emcc.cflags+=-DSQLITE_WASM_OPFS
-endif
 define WASM_C_COMPILE
 $(1).o := $$(subst .c,.o,$(1))
 sqlite3.wasm.obj += $$($(1).o)
@@ -293,10 +280,10 @@ $$($(1).o): $$(MAKEFILE) $(1)
 CLEAN_FILES += $$($(1).o)
 endef
 $(foreach c,$(sqlite3-wasm.c) $(jaccwabyt_test.c),$(eval $(call WASM_C_COMPILE,$(c))))
-$(sqlite3.js): 
 $(sqlite3.js): $(MAKEFILE) $(sqlite3.wasm.obj) \
     EXPORTED_FUNCTIONS.api \
     $(post-js.js)
+       @echo "Building $@ ..."
        $(emcc.bin) -o $(sqlite3.js) $(emcc_opt) $(emcc.flags) $(emcc.jsflags) $(sqlite3.wasm.obj)
        chmod -x $(sqlite3.wasm)
 ifneq (,$(wasm-strip))
@@ -335,10 +322,6 @@ all: batch
 ########################################################################
 # speedtest1.js...
 emcc.speedtest1-flags := -g $(emcc_opt)
-ifneq (0,$(ENABLE_WASMFS))
-  emcc.speedtest1-flags += -pthread -sWASMFS -sPTHREAD_POOL_SIZE=2
-  emcc.speedtest1-flags += -DSQLITE_WASM_OPFS
-endif
 emcc.speedtest1-flags += -sINVOKE_RUN=0
 #emcc.speedtest1-flags += --no-entry
 emcc.speedtest1-flags += -flto
@@ -365,6 +348,7 @@ $(speedtest1.js): emcc.cflags+=
 # close enough to the target speed requirements that the 500ms makes a
 # difference.
 $(speedtest1.js): $(speedtest1.c) $(sqlite3-wasm.c) $(MAKEFILE) $(sqlite3.c)
+       @echo "Building $@ ..."
        $(emcc.bin) \
         $(emcc.speedtest1-flags) $(speedtest1.cflags) \
         $(SQLITE_OPT) \
@@ -405,3 +389,4 @@ push-fiddle: $(fiddle_files)
 ########################################################################
 
 include kvvfs.make
+include wasmfs.make
index da5ad1a3e9d62d0d85425ad1a98b77ed21364639..a7e468aab0b1564a1e479b17fde5b347146dc71f 100644 (file)
         <li><a href='speedtest1-kvvfs.html'>speedtest1-kvvfs</a>: a variant of speedtest1 built solely for the kv-vfs feature.</li>
         <li><a href='kvvfs1.html'>kvvfs1</a>: very basic demo of using the key-value vfs for storing
           a persistent db in JS localStorage or sessionStorage.</li>
+        <li><a href='scratchpad-wasmfs-main.html'>scratchpad-wasmfs-main</a>:
+          experimenting with WASMFS/OPFS-based persistence. Maintenance
+          reminder: we cannot currently (2022-09-15) load WASMFS in a
+          worker due to an Emscripten limitation.</li>
         <!--li><a href='x.html'></a></li-->
       </ul>
     </div>
index ad743dfda62d18e630943033c4a514dca1f996d5..3ef9dbddf958c27aa289c01d742b5ab1387fe3a5 100644 (file)
@@ -83,9 +83,10 @@ endif
 $(kvvfs.js): $(kvvfs.wasm.c) $(sqlite3.c) $(kvvfs.extra.c) \
     EXPORTED_FUNCTIONS.api $(MAKEFILE) $(MAKEFILE.kvvfs) \
     $(post-js.js)
+       @echo "Building $@ ..."
        $(emcc.bin) -o $@ $(emcc_opt) $(emcc.flags) \
-  $(SQLITE_OPT) \
-  $(kvvfs.cflags) $(kvvfs.jsflags) $(kvvfs.wasm.c) $(kvvfs.extra.c)
+      $(SQLITE_OPT) \
+      $(kvvfs.cflags) $(kvvfs.jsflags) $(kvvfs.wasm.c) $(kvvfs.extra.c)
        chmod -x $(kvvfs.wasm)
 ifneq (,$(wasm-strip))
        $(wasm-strip) $(kvvfs.wasm)
@@ -102,11 +103,11 @@ speedtest1-kvvfs.wasm := speedtest1-kvvfs.wasm
 CLEAN_FILES += $(speedtest1-kvvfs.js) $(speedtest1-kvvfs.wasm)
 $(speedtest1-kvvfs.js): $(speedtest1.c) $(sqlite3-wasm.c) $(sqlite3.c) $(MAKEFILE.kvvfs)
        $(emcc.bin) \
-        $(emcc.speedtest1-flags) $(speedtest1.cflags) \
-        $(SQLITE_OPT) \
-        -sEXIT_RUNTIME=1 \
-        $(kvvfs.cflags) \
-        -o $@ $(speedtest1.c) $(sqlite3-wasm.c) -lm
+      $(emcc.speedtest1-flags) $(speedtest1.cflags) \
+      $(SQLITE_OPT) \
+      -sEXIT_RUNTIME=1 \
+      $(kvvfs.cflags) \
+      -o $@ $(speedtest1.c) $(sqlite3-wasm.c) -lm
 ifneq (,$(wasm-strip))
        $(wasm-strip) $(speedtest1-kvvfs.wasm)
 endif
index e27fe2b372464163277d36418419cbc1f99532e6..e3eba16a2e49a4df9aa58aa62bd57740c69d9a28 100644 (file)
@@ -18,7 +18,7 @@
 'use strict';
 (function(){
   const toss = function(...args){throw new Error(args.join(' '))};
-  importScripts('sqlite3.js');
+  importScripts('sqlite3-wasmfs.js');
 
   /**
      Posts a message in the form {type,data} unless passed more than 2
similarity index 94%
rename from ext/wasm/scratchpad-opfs-main.html
rename to ext/wasm/scratchpad-wasmfs-main.html
index 8edd15a671193576a313c150f82238362d26ddad..91f61526cde9ac0603222e528f17796f57eafdad 100644 (file)
@@ -33,8 +33,8 @@
     <p>All stuff on this page happens in the dev console.</p>
     <hr>
     <div id='test-output'></div>
-    <script src="sqlite3.js"></script>
+    <script src="sqlite3-wasmfs.js"></script>
     <script src="common/SqliteTestUtil.js"></script>
-    <script src="scratchpad-opfs-main.js"></script>
+    <script src="scratchpad-wasmfs-main.js"></script>
   </body>
 </html>
index a6cbd7910d8a1ca66e52ddb1f27620bf6c6df8cf..1f2347c6fe2ab5d7172019ceb3056eab2beeae02 100644 (file)
     await wtest('exec',{
       sql:'select 1 union all select 3',
       resultRows: [],
-      //rowMode: 'array', // array is the default in the Worker interface
     }, function(ev){
       ev = ev.result;
       T.assert(2 === ev.resultRows.length)
diff --git a/ext/wasm/wasmfs.make b/ext/wasm/wasmfs.make
new file mode 100644 (file)
index 0000000..d96e68f
--- /dev/null
@@ -0,0 +1,104 @@
+#!/usr/bin/make
+#^^^^ help emacs select makefile mode
+#
+# This is a sub-make for building a standalone wasmfs-based
+# sqlite3.wasm.  It is intended to be "include"d from the main
+# GNUMakefile.
+#
+# Notable potential TODOs:
+#
+# - Trim down a custom sqlite3-api.js for this build. We can elimate
+#   the jaccwabyt dependency, for example, because this build won't
+#   make use of the VFS bits. Similarly, we can eliminate or replace
+#   parts of the OO1 API, or provide a related API which manages
+#   singletons of the localStorage/sessionStorage instances.
+#
+########################################################################
+MAKEFILE.wasmfs := $(lastword $(MAKEFILE_LIST))
+
+wasmfs.js     := sqlite3-wasmfs.js
+wasmfs.wasm   := sqlite3-wasmfs.wasm
+wasmfs.wasm.c := $(dir.api)/sqlite3-wasm.c
+
+CLEAN_FILES += $(wasmfs.js) $(wasmfs.wasm)
+
+########################################################################
+# emcc flags for .c/.o/.wasm.
+wasmfs.flags =
+#wasmfs.flags += -v # _very_ loud but also informative about what it's doing
+
+########################################################################
+# emcc flags for .c/.o.
+wasmfs.cflags :=
+wasmfs.cflags += -std=c99 -fPIC -g
+wasmfs.cflags += -pthread
+wasmfs.cflags += -I. -I$(dir.top)
+wasmfs.cflags += $(SQLITE_OPT) -DSQLITE_WASM_OPFS
+wasmfs.cflags += '-DSQLITE_DEFAULT_UNIX_VFS="unix-none"'
+
+wasmfs.extra.c :=
+ifeq (1,1)
+  # To get testing1.js to run with $(wasmfs.js) we need...
+  wasmfs.extra.c += $(jaccwabyt_test.c)
+endif
+
+########################################################################
+# emcc flags specific to building the final .js/.wasm file...
+wasmfs.jsflags := -fPIC
+wasmfs.jsflags += --no-entry
+wasmfs.jsflags += --minify 0
+wasmfs.jsflags += -sENVIRONMENT=web,worker
+wasmfs.jsflags += -sMODULARIZE
+wasmfs.jsflags += -sSTRICT_JS
+wasmfs.jsflags += -sDYNAMIC_EXECUTION=0
+wasmfs.jsflags += -sNO_POLYFILL
+ifeq (,$(wasmfs.extra.c))
+  wasmfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.api)/EXPORTED_FUNCTIONS.sqlite3-api
+else
+  # need more exports for jaccwabyt test code...
+  wasmfs.jsflags += -sEXPORTED_FUNCTIONS=@$(dir.wasm)/EXPORTED_FUNCTIONS.api
+endif
+wasmfs.jsflags += -sEXPORTED_RUNTIME_METHODS=FS,wasmMemory,allocateUTF8OnStack
+                                            # wasmMemory ==> for -sIMPORTED_MEMORY
+                                            # allocateUTF8OnStack ==> wasmfs internals
+wasmfs.jsflags += -sUSE_CLOSURE_COMPILER=0
+wasmfs.jsflags += -sIMPORTED_MEMORY
+#wasmfs.jsflags += -sINITIAL_MEMORY=13107200
+#wasmfs.jsflags += -sTOTAL_STACK=4194304
+wasmfs.jsflags += -sEXPORT_NAME=sqlite3InitModule
+wasmfs.jsflags += -sGLOBAL_BASE=4096 # HYPOTHETICALLY keep func table indexes from overlapping w/ heap addr.
+wasmfs.jsflags += --post-js=$(post-js.js)
+#wasmfs.jsflags += -sFILESYSTEM=0 # only for experimentation. sqlite3 needs the FS API
+#                                Perhaps the wasmfs build doesn't?
+#wasmfs.jsflags += -sABORTING_MALLOC
+wasmfs.jsflags += -sALLOW_TABLE_GROWTH
+wasmfs.jsflags += -Wno-limited-postlink-optimizations
+# ^^^^^ it likes to warn when we have "limited optimizations" via the -g3 flag.
+wasmfs.jsflags += -sERROR_ON_UNDEFINED_SYMBOLS=0
+wasmfs.jsflags += -sLLD_REPORT_UNDEFINED
+#wasmfs.jsflags += --import-undefined
+wasmfs.jsflags += -sMEMORY64=0
+wasmfs.jsflags += -pthread -sWASMFS -sPTHREAD_POOL_SIZE=2
+wasmfs.jsflags += -sINITIAL_MEMORY=128450560
+#wasmfs.jsflags += -sALLOW_MEMORY_GROWTH
+#^^^ using ALLOW_MEMORY_GROWTH produces a warning from emcc:
+#   USE_PTHREADS + ALLOW_MEMORY_GROWTH may run non-wasm code slowly,
+#   see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
+ifneq (0,$(enable_bigint))
+wasmfs.jsflags += -sWASM_BIGINT
+endif
+
+$(wasmfs.js): $(wasmfs.wasm.c) $(sqlite3.c) $(wasmfs.extra.c) \
+    EXPORTED_FUNCTIONS.api $(MAKEFILE) $(MAKEFILE.wasmfs) \
+    $(post-js.js)
+       @echo "Building $@ ..."
+       $(emcc.bin) -o $@ $(emcc_opt) $(emcc.flags) \
+  $(wasmfs.cflags) $(wasmfs.jsflags) $(wasmfs.wasm.c) $(wasmfs.extra.c)
+       chmod -x $(wasmfs.wasm)
+ifneq (,$(wasm-strip))
+       $(wasm-strip) $(wasmfs.wasm)
+endif
+       @ls -la $@ $(wasmfs.wasm)
+
+wasmfs: $(wasmfs.js)
+all: wasmfs
index d06cfdc78bde31a797d7c6c2140a5044206869f2..045ad7cfc09ea4603d77e928e5613a3426278fd8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Clean\sup\ssome\sJS\sdocumentation.
-D 2022-09-15T02:27:48.888
+C Split\swasmfs-enabled\sbuild\sof\ssqlite3.js/wasm\sinto\ssqlite3-wasmfs.js/wasm,\sas\senabling\swasmfs\sbreaks\sall\stests/demos\swhich\srun\sfrom\sa\sWorker\sthread.
+D 2022-09-15T03:09:00.109
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -474,7 +474,7 @@ F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
 F ext/wasm/EXPORTED_FUNCTIONS.fiddle db7a4602f043cf4a5e4135be3609a487f9f1c83f05778bfbdf93766be4541b96
 F ext/wasm/EXPORTED_RUNTIME_METHODS.fiddle a004bd5eeeda6d3b28d16779b7f1a80305bfe009dfc7f0721b042967f0d39d02
-F ext/wasm/GNUmakefile b175a00599c976fe9e7bc02bbc1337b5e3b81d042320c3a0be1621d2c7a21b21
+F ext/wasm/GNUmakefile f06963ecf1a8275755a568f84ad66e1c6a093e190cffd84f1414d8e75d3c5277
 F ext/wasm/README.md e1ee1e7c321c6a250bf78a84ca6f5882890a237a450ba5a0649c7a8399194c52
 F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 150a793a47205b8009ac934f3b6d6ebf67b965c072339aaa25ce808a19e116cc
 F ext/wasm/api/EXPORTED_RUNTIME_METHODS.sqlite3-api 1ec3c73e7d66e95529c3c64ac3de2470b0e9e7fbf7a5b41261c367cf4f1b7287
@@ -501,19 +501,19 @@ F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d695
 F ext/wasm/fiddle/fiddle-worker.js bccf46045be8824752876f3eec01c223be0616ccac184bffd0024cfe7a3262b8
 F ext/wasm/fiddle/fiddle.html 550c5aafce40bd218de9bf26192749f69f9b10bc379423ecd2e162bcef885c08
 F ext/wasm/fiddle/fiddle.js 4ffcfc9a235beebaddec689a549e9e0dfad6dca5c1f0b41f03468d7e76480686
-F ext/wasm/index.html f4b04f866ac420e7037b3818e9cb73ccc059675e0f24482932a2f7a121b814e3
+F ext/wasm/index.html 97968cdfa957c9ede7c81df55c9a2276b1a9784dc41a9802d3d94ad9c30ba2ed
 F ext/wasm/jaccwabyt/jaccwabyt.js 0d7f32817456a0f3937fcfd934afeb32154ca33580ab264dab6c285e6dbbd215
 F ext/wasm/jaccwabyt/jaccwabyt.md 447cc02b598f7792edaa8ae6853a7847b8178a18ed356afacbdbf312b2588106
 F ext/wasm/jaccwabyt/jaccwabyt_test.c 39e4b865a33548f943e2eb9dd0dc8d619a80de05d5300668e9960fff30d0d36f
 F ext/wasm/jaccwabyt/jaccwabyt_test.exports 5ff001ef975c426ffe88d7d8a6e96ec725e568d2c2307c416902059339c06f19
-F ext/wasm/kvvfs.make bfa0aaac384d9f200d2c8e31efb3536b40d139667b88e6eba9c0a71e23da6a5c
+F ext/wasm/kvvfs.make 99d61a438232d03f7a39fff05a5738d00d5af629e54b3f03caf87f041c194d51
 F ext/wasm/kvvfs1.html 13bb24190bfb276a57b228499519badcc1bf39ed07e4b37bc2a425ce6418fed1
 F ext/wasm/kvvfs1.js ec1c1d071bb055711f9151df05616111432cf3e6bf7ac7f8dcbcfb56c9d9ed48
-F ext/wasm/scratchpad-opfs-main.html 4565cf194e66188190d35f70e82553e2e2d72b9809b73c94ab67b8cfd14d2e0c
-F ext/wasm/scratchpad-opfs-main.js 69e960e9161f6412fd0c30f355d4112f1894d6609eb431e2d16d207d1380518e
 F ext/wasm/scratchpad-opfs-worker.html 66c1d15d678f3bd306373d76b61c6c8aef988f61f4a8dd40185d452f9c6d2bf5
 F ext/wasm/scratchpad-opfs-worker.js 3ec2868c669713145c76eb5877c64a1b20741f741817b87c907a154b676283a9
-F ext/wasm/scratchpad-opfs-worker2.js 5f2237427ac537b8580b1c659ff14ad2621d1694043eaaf41ae18dbfef2e48c0
+F ext/wasm/scratchpad-opfs-worker2.js 779500d97140812509c04ba182de5bf76727052bdcbc09b3cedfb71a8574e07b
+F ext/wasm/scratchpad-wasmfs-main.html 20cf6f1a8f368e70d01e8c17200e3eaa90f1c8e1029186d836d14b83845fbe06 w ext/wasm/scratchpad-opfs-main.html
+F ext/wasm/scratchpad-wasmfs-main.js 69e960e9161f6412fd0c30f355d4112f1894d6609eb431e2d16d207d1380518e w ext/wasm/scratchpad-opfs-main.js
 F ext/wasm/speedtest1-kvvfs.html fe7d314343b275f8b241af83267ca56274ea995535c6abca4d6e568a98fa31e3
 F ext/wasm/speedtest1-worker.html 6b5fda04d0b69e8c2651689356cb0c28fd33aa1a82b03dcbc8b0d68fbd7ed57f
 F ext/wasm/speedtest1-worker.js 356b9953add4449acf199793db9b76b11ee016021918d8daffd19f08ec68d305
@@ -524,11 +524,12 @@ F ext/wasm/sql/001-sudoku.sql 35b7cb7239ba5d5f193bc05ec379bcf66891bce6f2a5b3879f
 F ext/wasm/sqlite3-worker1-promiser.js 92b8da5f38439ffec459a8215775d30fa498bc0f1ab929ff341fc3dd479660b9
 F ext/wasm/sqlite3-worker1.js 0c1e7626304543969c3846573e080c082bf43bcaa47e87d416458af84f340a9e
 F ext/wasm/testing-worker1-promiser.html 6eaec6e04a56cf24cf4fa8ef49d78ce8905dde1354235c9125dca6885f7ce893
-F ext/wasm/testing-worker1-promiser.js e281c6a58dfe5b455e26997dd2985227588d1b583dc55e1f4f6253bf32f154f5
+F ext/wasm/testing-worker1-promiser.js 63448fddfd3b8c89ff667d17c8b31c6c2259dd4647ebbbd28f3a921c48e924da
 F ext/wasm/testing1.html 50575755e43232dbe4c2f97c9086b3118eb91ec2ee1fae931e6d7669fb17fcae
 F ext/wasm/testing1.js 7cd8ab255c238b030d928755ae8e91e7d90a12f2ae601b1b8f7827aaa4fb258e
 F ext/wasm/testing2.html a66951c38137ff1d687df79466351f3c734fa9c6d9cce71d3cf97c291b2167e3
 F ext/wasm/testing2.js 25584bcc30f19673ce13a6f301f89f8820a59dfe044e0c4f2913941f4097fe3c
+F ext/wasm/wasmfs.make 86ce03d75a462ef4431e0c2d851f707156975bca5347daa8d8a1cb430ba83a62
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
 F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
@@ -2024,8 +2025,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 0d78961870ee9f22f1ba16d423377d28dcc36e04b1e31ffd57f3e2fd51f8f0f2
-R bf00de6cf3febea830f05611ed6027b0
+P 925fdbfc6c1f9f06951346bc0d4fb81ffb5797d5f1123728931973f6cb1a0efa
+R a69df33d531c68d33c70b5a00ef5df51
 U stephan
-Z 4c6a69dd322d5934ed4c1741f188a00d
+Z bd73fd5e630d2b9c280c487da7e4705d
 # Remove this line to create a well-formed Fossil manifest.
index f903450baebcd22d7703c6bc13d788ce70050dca..1f14dcc2927e7e3465f0ba31646aacc5cbde266f 100644 (file)
@@ -1 +1 @@
-925fdbfc6c1f9f06951346bc0d4fb81ffb5797d5f1123728931973f6cb1a0efa
\ No newline at end of file
+08476f3c218d45846e7496bdae0b06e2122466111fdf2aa2aabb1805b15ef982
\ No newline at end of file