]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Wasm build tweaks to attempt to get the node.js-for-node.js build to use Emscripten... wasm-nodefs
authorstephan <stephan@noemail.net>
Wed, 6 Mar 2024 08:45:52 +0000 (08:45 +0000)
committerstephan <stephan@noemail.net>
Wed, 6 Mar 2024 08:45:52 +0000 (08:45 +0000)
FossilOrigin-Name: 0bcbde7c54f67451417d24678b776ad1b4e92990aa72cc3850f6e369011f4538

ext/wasm/GNUmakefile
manifest
manifest.uuid

index 098a4330b06e3b9e771e6f7c2e7b9f66350ee669..763837d0d611c07195dd5e19c84d35ba7c66dc5e 100644 (file)
@@ -82,7 +82,8 @@ JS_BUILD_NAMES := sqlite3 sqlite3-wasmfs
 #
 # - node = for use by node.js for node.js, as opposed to by node.js on
 #   behalf o browser-side code (use bundler-friendly for that). Note
-#   that persistent storage (OPFS) is not available in these builds.
+#   that persistent storage (OPFS, kvvfs) is not available in these
+#   builds.
 #
 JS_BUILD_MODES := vanilla esm bunder-friendly node
 
@@ -738,11 +739,12 @@ pre-post-jses.$(1)-$(2).deps := $$(pre-post-jses.deps.common) \
   $$(post-js.js.$(1)-$(2)) $$(extern-post-js.js.$(1)-$(2))
 $$(pre-js.js.$(1)-$(2)): $$(pre-js.js.$(1)-$(2).intermediary) $$(MAKEFILE)
        cp $$(pre-js.js.$(1)-$(2).intermediary) $$@
-       @if [ sqlite3-wasmfs = $(1) ]; then \
-               echo "delete Module[xNameOfInstantiateWasm] /*for WASMFS build*/;"; \
-       elif [ sqlite3 != $(1) ]; then \
-               echo "Module[xNameOfInstantiateWasm].uri = '$(1).wasm';"; \
-       fi >> $$@
+       @case $(1) in \
+               sqlite3) ;; \
+               sqlite3-wasmfs) \
+                       echo "delete Module[xNameOfInstantiateWasm] /*for WASMFS and node builds*/;" ;; \
+               *) echo "Module[xNameOfInstantiateWasm].uri = '$(1).wasm';" ;; \
+       esac >> $$@
 pre-post-$(1)-$(2).deps := \
   $$(pre-post-jses.$(1)-$(2).deps) \
   $$(dir.tmp)/pre-js.$(1)-$(2).js
@@ -825,7 +827,7 @@ pre-post-jses.deps.common := $(extern-pre-js.js) $(sqlite3-license-version.js)
 # $4 = resulting sqlite-api JS/MJS file
 # $5 = resulting JS/MJS file
 # $6 = -D... flags for $(bin.c-pp)
-# $7 = emcc -sXYZ flags (CURRENTLY UNUSED - was factored out)
+# $7 = optional additional flags for emcc
 #
 # Maintenance reminder: be careful not to introduce spaces around args
 # ($1, $2), otherwise string concatenation will malfunction.
@@ -892,7 +894,11 @@ $(eval $(call SETUP_LIB_BUILD_MODE,sqlite3,bundler-friendly,1,\
        $(c-pp.D.sqlite3-esm) -Dtarget=es6-bundler-friendly))
 $(eval $(call SETUP_LIB_BUILD_MODE,sqlite3,node,1,\
        $(sqlite3-api-node.mjs),$(sqlite3-node.mjs),\
-       $(c-pp.D.sqlite3-bundler-friendly) -Dtarget=node))
+       $(c-pp.D.sqlite3-bundler-friendly) -Dtarget=node,-lnodefs.js))
+# ^^^^ reminder to self: using -lnodefs.js affects the resulting JS but
+#      not the .wasm file, so that build can/should use the canonical
+#      wasm file.
+#
 # The various -D... values used by *.c-pp.js include:
 #
 # -Dtarget=es6-module: for all ESM module builds
index 1364d73542df2c57d26270af64299e4b3dab81c2..59e5e5548dedfbc8358b9191d9df07a504febf9b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\scode\sthat\sadded\sa\sP4\sparameter\sto\sthe\sOP_Variable\sopcode.\sThis\sis\sno\slonger\srequired.
-D 2024-03-05T18:41:03.600
+C Wasm\sbuild\stweaks\sto\sattempt\sto\sget\sthe\snode.js-for-node.js\sbuild\sto\suse\sEmscripten's\snodefs\sfilesystem\sdriver\sfor\spersistent\sstorage.\sThis\sis\scompletely\suntested\s-\svalidating\sit\srequires\sa\snodeist.
+D 2024-03-06T08:45:52.179
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -587,7 +587,7 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
 F ext/userauth/user-auth.txt ca7e9ee82ca4e1c1744295f8184dd70edfae1992865d26c64303f539eb6c084c
 F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
 F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile 92e929315c3f1e0ea389fc9666b87a67a61fa1ecbe37e44c5ad226bda3bc6abe
+F ext/wasm/GNUmakefile d71fa280bf85d8ff7e2200003ebdf729a754f93cdf6e04d7dad48848952c162f
 F ext/wasm/README-dist.txt 6382cb9548076fca472fb3330bbdba3a55c1ea0b180ff9253f084f07ff383576
 F ext/wasm/README.md a8a2962c3aebdf8d2104a9102e336c5554e78fc6072746e5daf9c61514e7d193
 F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
@@ -2176,8 +2176,11 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 8290646792bc5411112b0c01dc5ac0837743056a7679725ee2edefef2e10d146
-R 1ae68caeb21ed926e0c7d42963259d28
-U dan
-Z 4bf196184c1c27ebc7d6a427ff362e10
+P dd5977c9a8a418be3fbd646d74933996381099a9263a02eb4a990f0084463dc1
+R 33326cf07abe13f18bad62155ebaba19
+T *branch * wasm-nodefs
+T *sym-wasm-nodefs *
+T -sym-trunk * Cancelled\sby\sbranch.
+U stephan
+Z 60b88e8d8d2858ddd9f12841b30e5f75
 # Remove this line to create a well-formed Fossil manifest.
index 663d96d6149a4b748d5b5552ef75f16130aee8d2..56174adbf584b9966bf585e208cdb602b4c4fb54 100644 (file)
@@ -1 +1 @@
-dd5977c9a8a418be3fbd646d74933996381099a9263a02eb4a990f0084463dc1
\ No newline at end of file
+0bcbde7c54f67451417d24678b776ad1b4e92990aa72cc3850f6e369011f4538
\ No newline at end of file