]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
wasm: remove some extraneous levels of makefile var and fix the (unsupported) wasmfs...
authorstephan <stephan@noemail.net>
Wed, 16 Jul 2025 13:22:38 +0000 (13:22 +0000)
committerstephan <stephan@noemail.net>
Wed, 16 Jul 2025 13:22:38 +0000 (13:22 +0000)
FossilOrigin-Name: 35b2315343e22ca12c6ee3f5be8741eba889bb6461e08fad0a8ae7db033319cb

ext/wasm/GNUmakefile
ext/wasm/api/sqlite3-api-oo1.c-pp.js
ext/wasm/mkwasmbuilds.c
ext/wasm/wasmfs.make
manifest
manifest.uuid

index c6843b160b0ee5b7919fa976fa79d5713551be5a..1c07953a80f2667b79f17b1d5c0fb76c05ce8985 100644 (file)
@@ -505,9 +505,6 @@ $(EXPORTED_FUNCTIONS.api): $(MKDIR.bld) $(EXPORTED_FUNCTIONS.api.in) $(sqlite3.c
 # sqlite3-license-version.js = generated JS file with the license
 # header and version info.
 sqlite3-license-version.js := $(dir.tmp)/sqlite3-license-version.js
-# sqlite3-license-version-header.js = JS file containing only the
-# license header.
-sqlite3-license-version-header.js := $(dir.api)/sqlite3-license-version-header.js
 # sqlite3-api-build-version.js = generated JS file which populates the
 # sqlite3.version object using $(bin.version-info).
 sqlite3-api-build-version.js := $(dir.tmp)/sqlite3-api-build-version.js
@@ -578,7 +575,7 @@ $(SOAP.js.bld): $(SOAP.js)
 # Emscripten-specific headers and footers.
 sqlite3-api.js.in := $(dir.tmp)/sqlite3-api.c-pp.js
 $(sqlite3-api.js.in): $(MKDIR.bld) $(sqlite3-api.jses) $(MAKEFILE)
-       @echo "Making $@..."
+       @echo "Making $@ ..."
        @for i in $(sqlite3-api.jses); do \
                echo "/* BEGIN FILE: $$i */"; \
                cat $$i; \
@@ -767,17 +764,17 @@ $(sqlite3-api-build-version.js): $(MKDIR.bld) $(bin.version-info) $(MAKEFILE)
 #
 # Maintenance reminder: there are awk binaries out there which do not
 # support -e SCRIPT.
-$(sqlite3-license-version.js): $(MKDIR.bld) $(sqlite3.h) $(sqlite3-license-version-header.js) \
-  $(MAKEFILE)
+$(sqlite3-license-version.js): $(MKDIR.bld) $(sqlite3.h) \
+  $(dir.api)/sqlite3-license-version-header.js $(MAKEFILE)
        @echo "Making $@..."; { \
-    cat $(sqlite3-license-version-header.js); \
+    cat $(dir.api)/sqlite3-license-version-header.js; \
     echo '/*'; \
     echo '** This code was built from sqlite3 version...'; \
     echo "**"; \
     awk '/define SQLITE_VERSION/{$$1=""; print "**" $$0}' $(sqlite3.h); \
     awk '/define SQLITE_SOURCE_ID/{$$1=""; print "**" $$0}' $(sqlite3.h); \
     echo "**"; \
-    echo "** Using the Emscripten SDK version $(emcc.version)."; \
+    echo "** with the help of Emscripten SDK version $(emcc.version)."; \
     echo '*/'; \
    } > $@
 
@@ -857,9 +854,6 @@ endef
 
 sqlite3.js := $(dir.dout)/sqlite3.js
 sqlite3.mjs := $(dir.dout)/sqlite3.mjs
-sqlite3-bundler-friendly.mjs := $(dir.dout)/sqlite3-bundler-friendly.mjs
-sqlite3-node.mjs := $(dir.dout)/sqlite3-node.mjs
-sqlite3-wasmfs.mjs    := $(dir.wasmfs)/sqlite3-wasmfs.mjs
 EXPORTED_FUNCTIONS.fiddle := $(dir.tmp)/EXPORTED_FUNCTIONS.fiddle
 
 # The various -D... values used by *.c-pp.js include:
@@ -894,26 +888,10 @@ EXPORTED_FUNCTIONS.fiddle := $(dir.tmp)/EXPORTED_FUNCTIONS.fiddle
 # build time).
 $(sqlite3.wasm): $(sqlite3.js)
 $(sqlite3.mjs): $(sqlite3.js)
-$(sqlite3-bundler-friendly.mjs): $(sqlite3.mjs)
-$(sqlite3-node.mjs): $(sqlite3.mjs)
+$(dir.dout)/sqlite3-bundler-friendly.mjs: $(sqlite3.mjs)
+$(dir.dout)/sqlite3-node.mjs: $(sqlite3.mjs)
 #CLEAN_FILES += $(sqlite3.wasm)
 
-########################################################################
-# We need separate copies of certain supplementary JS files for the
-# bundler-friendly build. Concretely, any supplemental JS files which
-# themselves use importScripts() or Workers or URL() constructors
-# which refer to other in-tree (m)JS files require a bundler-friendly
-# copy. Bundler-friendly builds replace certain references to string
-# vars/expressions with string literals, as bundler tools are static
-# code analyzers and cannot cope with the former.
-sqlite3-worker1.js.in := $(dir.api)/sqlite3-worker1.c-pp.js
-sqlite3-worker1-promiser.js.in := $(dir.api)/sqlite3-worker1-promiser.c-pp.js
-sqlite3-worker1.js := $(dir.dout)/sqlite3-worker1.js
-sqlite3-worker1-promiser.js := $(dir.dout)/sqlite3-worker1-promiser.js
-sqlite3-worker1-promiser.mjs := $(dir.dout)/sqlite3-worker1-promiser.mjs
-sqlite3-worker1-bundler-friendly.mjs := $(dir.dout)/sqlite3-worker1-bundler-friendly.mjs
-sqlite3-worker1-promiser-bundler-friendly.js := $(dir.dout)/sqlite3-worker1-promiser-bundler-friendly.js
-
 ifneq (1,$(MAKING_CLEAN))
 # This block MUST come between the above definitions of
 # sqlite3-...js/mjs and the $(eval) calls below this block which use
@@ -926,6 +904,9 @@ ifneq (1,$(MAKING_CLEAN))
 # the $ references in those languages made it just as illegible as the
 # native makefile code. Somewhat surprisingly, moving that code generation
 # to C makes it slightly less illegible than the previous 3 options.
+#
+# Maintenance note: the various $(c-pp.D.XYZ) vars are defined in this
+# step.
 bin.mkwb := ./mkwasmbuilds
 $(bin.mkwb): $(bin.mkwb).c $(MAKEFILE)
        $(CC) -o $@ $<
@@ -938,34 +919,48 @@ DISTCLEAN_FILES += $(bin.mkwb)
 endif
 DISTCLEAN_FILES += .wasmbuilds.make
 
-$(eval $(call SQLITE.CALL.C-PP.FILTER,$(sqlite3-worker1.js.in),$(sqlite3-worker1.js)))
-$(eval $(call SQLITE.CALL.C-PP.FILTER,$(sqlite3-worker1.js.in),$(sqlite3-worker1-bundler-friendly.mjs),\
+########################################################################
+# We need separate copies of certain supplementary JS files for the
+# bundler-friendly build. Concretely, any supplemental JS files which
+# themselves use importScripts() or Workers or URL() constructors
+# which refer to other in-tree (m)JS files require a bundler-friendly
+# copy. Bundler-friendly builds replace certain references to string
+# vars/expressions with string literals, as bundler tools are static
+# code analyzers and cannot cope with the former.
+#
+# Most of what follows is the generation of those copies.
+$(eval $(call SQLITE.CALL.C-PP.FILTER,$(dir.api)/sqlite3-worker1.c-pp.js,\
+    $(dir.dout)/sqlite3-worker1.js))
+$(eval $(call SQLITE.CALL.C-PP.FILTER,$(dir.api)/sqlite3-worker1.c-pp.js,\
+    $(dir.dout)/sqlite3-worker1-bundler-friendly.mjs,\
     $(c-pp.D.sqlite3-bundler-friendly)))
-$(eval $(call SQLITE.CALL.C-PP.FILTER,$(sqlite3-worker1-promiser.js.in),$(sqlite3-worker1-promiser.js)))
-$(eval $(call SQLITE.CALL.C-PP.FILTER,$(sqlite3-worker1-promiser.js.in),\
-    $(sqlite3-worker1-promiser-bundler-friendly.js),\
+$(eval $(call SQLITE.CALL.C-PP.FILTER,$(dir.api)/sqlite3-worker1-promiser.c-pp.js,\
+    $(dir.dout)/sqlite3-worker1-promiser.js))
+$(eval $(call SQLITE.CALL.C-PP.FILTER,$(dir.api)/sqlite3-worker1-promiser.c-pp.js,\
+    $(dir.dout)/sqlite3-worker1-promiser-bundler-friendly.js,\
     $(c-pp.D.sqlite3-bundler-friendly)))
-$(eval $(call SQLITE.CALL.C-PP.FILTER,$(sqlite3-worker1-promiser.js.in),$(sqlite3-worker1-promiser.mjs),\
+$(eval $(call SQLITE.CALL.C-PP.FILTER,$(dir.api)/sqlite3-worker1-promiser.c-pp.js,\
+    $(dir.dout)/sqlite3-worker1-promiser.mjs,\
     -Dtarget=es6-module -Dtarget=es6-bundler-friendly))
-$(sqlite3-bundler-friendly.mjs): $(sqlite3-worker1-bundler-friendly.mjs) \
-    $(sqlite3-worker1-promiser-bundler-friendly.js)
+$(dir.dout)/sqlite3-bundler-friendly.mjs: $(dir.dout)/sqlite3-worker1-bundler-friendly.mjs \
+    $(dir.dout)/sqlite3-worker1-promiser-bundler-friendly.js
 $(eval $(call SQLITE.CALL.C-PP.FILTER,demo-worker1-promiser.c-pp.js,demo-worker1-promiser.js))
 $(eval $(call SQLITE.CALL.C-PP.FILTER,demo-worker1-promiser.c-pp.js,demo-worker1-promiser.mjs,\
     -Dtarget=es6-module))
 $(eval $(call SQLITE.CALL.C-PP.FILTER,demo-worker1-promiser.c-pp.html,demo-worker1-promiser.html))
 $(eval $(call SQLITE.CALL.C-PP.FILTER,demo-worker1-promiser.c-pp.html,demo-worker1-promiser-esm.html,\
     -Dtarget=es6-module))
-all: $(sqlite3-worker1.js) \
-    $(sqlite3-worker1-promiser.js) $(sqlite3-worker1-promiser.mjs)
+all: $(dir.dout)/sqlite3-worker1.js \
+    $(dir.dout)/sqlite3-worker1-promiser.js $(dir.dout)/sqlite3-worker1-promiser.mjs
 
-demo-worker1-promiser.html: $(sqlite3-worker1-promiser.js) demo-worker1-promiser.js
+demo-worker1-promiser.html: $(dir.dout)/sqlite3-worker1-promiser.js demo-worker1-promiser.js
 demo-worker1-promiser-esm.html: $(sqlite3-worker1-promiser.mjs) demo-worker1-promiser.mjs
 all: demo-worker1-promiser.html demo-worker1-promiser-esm.html
 
 sqlite3-api.ext.jses += \
   $(sqlite3-worker1-promiser.mjs) \
-  $(sqlite3-worker1-bundler-friendly.mjs) \
-  $(sqlite3-worker1.js)
+  $(dir.dout)/sqlite3-worker1-bundler-friendly.mjs \
+  $(dir.dout)/sqlite3-worker1.js
 all quick: $(sqlite3-api.ext.jses)
 q: quick
 
@@ -1091,7 +1086,7 @@ $(eval $(call SQLITE.CALL.C-PP.FILTER,tester1.c-pp.js,tester1.mjs,$(c-pp.D.sqlit
 $(eval $(call SQLITE.CALL.C-PP.FILTER,tester1.c-pp.html,tester1.html))
 $(eval $(call SQLITE.CALL.C-PP.FILTER,tester1.c-pp.html,tester1-esm.html,$(c-pp.D.sqlite3-esm)))
 tester1: tester1.js tester1.mjs tester1.html tester1-esm.html
-# Note that we do not include $(sqlite3-bundler-friendly.mjs) in this
+# Note that we do not include $(dir.dout)/sqlite3-bundler-friendly.mjs in this
 # because bundlers are client-specific.
 all quick: tester1
 quick: $(sqlite3.js)
index 62c44fa9d0e98896ee4e0e880ebc3cc8d6719ff4..8663dcddecf9b50949d0473746725ee3c90c75e2 100644 (file)
@@ -13,7 +13,7 @@
 
   This file contains the so-called OO #1 API wrapper for the sqlite3
   WASM build. It requires that sqlite3-api-glue.js has already run
-  and it installs its deliverable as globalThis.sqlite3.oo1.
+  and it installs its deliverable as sqlite3.oo1.
 */
 globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){
   const toss3 = (...args)=>{throw new sqlite3.SQLite3Error(...args)};
index 0bba1649145bb3cbfa9a7477a9ef877058bd2356..6b09c3456cc1fbd3d0f219728ca13c8daa88769f 100644 (file)
@@ -108,12 +108,12 @@ const BuildDef aBuildDefs[] = {
    ** required by the downstream npm subproject. */
     "sqlite3", "bundler-friendly",
     LIBMODE_BUNDLER_FRIENDLY | LIBMODE_ESM,
-    "$(sqlite3-bundler-friendly.mjs)",
+    "$(dir.dout)/sqlite3-bundler-friendly.mjs",
     "$(c-pp.D.sqlite3-esm) -Dtarget=es6-bundler-friendly", 0},
 
   {/* node.js mode. Untested and unsupported. */
     "sqlite3", "node", LIBMODE_NODEJS | LIBMODE_DONT_ADD_TO_ALL,
-    "$(sqlite3-node.mjs)",
+    "$(dir.dout)/sqlite3-node.mjs",
     "$(c-pp.D.sqlite3-bundler-friendly) -Dtarget=node", 0},
 
   {/* The wasmfs build is optional, untested, unsupported, and
@@ -121,7 +121,7 @@ const BuildDef aBuildDefs[] = {
    ** here. */
     "sqlite3-wasmfs", "esm" ,
     LIBMODE_WASMFS | LIBMODE_ESM | LIBMODE_DONT_ADD_TO_ALL,
-    "$(sqlite3-wasmfs.mjs)",
+    "$(dir.wasmfs)/sqlite3-wasmfs.mjs",
     "$(c-pp.D.sqlite3-bundler-friendly) -Dwasmfs",
     "-sEXPORT_ES6 -sUSE_ES6_IMPORT_META"},
 
@@ -133,17 +133,34 @@ const BuildDef aBuildDefs[] = {
 ** needed by makefile code outside of these generated pieces).
 */
 static void mk_prologue(void){
+  /* A 0-terminated list of makefile vars which we expect to have been
+  ** set up by this point in the build process. */
+  char const * aRequiredVars[] = {
+    "dir.api", "dir.dout", "dir.tmp",
+    "sqlite3-license-version.js",
+    /*"just-testing",*/
+    0
+  };
+  char const * zVar;
+  int i;
+  pf("%s# Build setup sanity checks...\n", zBanner);
+  for( i = 0; (zVar = aRequiredVars[i]); ++i ){
+    pf("ifeq (,$(%s))\n", zVar);
+    pf("  $(error build process error: expecting make var $$(%s) to "
+       "have been set up by now)\n", zVar);
+    ps("endif");
+  }
   pf("%s", zBanner);
   ps("# extern-post-js* and extern-pre-js* are files for use with");
   ps("# Emscripten's --extern-pre-js and --extern-post-js flags.");
-  ps("extern-pre-js.js := $(dir.api)/extern-pre-js.js");
-  ps("extern-post-js.js.in := $(dir.api)/extern-post-js.c-pp.js");
+  ps("extern-pre-js.js = $(dir.api)/extern-pre-js.js");
+  ps("extern-post-js.js.in = $(dir.api)/extern-post-js.c-pp.js");
   ps("# Emscripten flags for --[extern-][pre|post]-js=... for the");
   ps("# various builds.");
-  ps("pre-post-common.flags := --extern-pre-js=$(sqlite3-license-version.js)");
-  ps("# pre-post-jses.deps.* = a list of dependencies for the");
-  ps("# --[extern-][pre/post]-js files.");
-  ps("pre-post-jses.deps.common := $(extern-pre-js.js) $(sqlite3-license-version.js)");
+  ps("pre-post-common.flags = --extern-pre-js=$(sqlite3-license-version.js)");
+  ps("# pre-post-jses.deps.* = a list of dependencies for the\n"
+     "# --[extern-][pre/post]-js files.");
+  ps("pre-post-jses.deps.common = $(extern-pre-js.js) $(sqlite3-license-version.js)");
 
   {
     /* SQLITE.CALL.WASM-OPT = shell code to run $(1) (source wasm file
@@ -229,20 +246,20 @@ static void mk_pre_post(const char *zName  /* build name */,
 #define zNM zName, zMode
 
   pf("%s# Begin --pre/--post flags for %s-%s\n", zBanner, zNM);
-  pf("c-pp.D.%s-%s := %s\n", zNM, zCmppD ? zCmppD : "");
+  pf("c-pp.D.%s-%s = %s\n", zNM, zCmppD ? zCmppD : "");
   pf("pre-post-%s-%s.flags ?=\n", zNM);
 
   /* --pre-js=... */
-  pf("pre-js.js.%s-%s := $(dir.tmp)/pre-js.%s-%s.js\n",
+  pf("pre-js.js.%s-%s = $(dir.tmp)/pre-js.%s-%s.js\n",
      zNM, zNM);
-  pf("$(pre-js.js.%s-%s): $(MAKEFILE_LIST)\n", zNM);
+  pf("$(pre-js.js.%s-%s): $(MAKEFILE_LIST) $(sqlite3-license-version.js)\n", zNM);
 #if 1
   pf("$(eval $(call SQLITE.CALL.C-PP.FILTER,$(pre-js.js.in),$(pre-js.js.%s-%s),"
      "$(c-pp.D.%s-%s)))\n", zNM, zNM);
 #else
   /* This part is needed if/when we re-enable the custom
   ** Module.instantiateModule() impl in api/pre-js.c-pp.js. */
-  pf("pre-js.js.%s-%s.intermediary := $(dir.tmp)/pre-js.%s-%s.intermediary.js\n",
+  pf("pre-js.js.%s-%s.intermediary = $(dir.tmp)/pre-js.%s-%s.intermediary.js\n",
      zNM, zNM);
   pf("$(eval $(call SQLITE.CALL.C-PP.FILTER,$(pre-js.js.in),$(pre-js.js.%s-%s.intermediary),"
      "$(c-pp.D.%s-%s) -Dcustom-Module.instantiateModule))\n", zNM, zNM);
@@ -260,17 +277,17 @@ static void mk_pre_post(const char *zName  /* build name */,
 #endif
 
   /* --post-js=... */
-  pf("post-js.js.%s-%s := $(dir.tmp)/post-js.%s-%s.js\n", zNM, zNM);
+  pf("post-js.js.%s-%s = $(dir.tmp)/post-js.%s-%s.js\n", zNM, zNM);
   pf("$(eval $(call SQLITE.CALL.C-PP.FILTER,$(post-js.js.in),"
      "$(post-js.js.%s-%s),$(c-pp.D.%s-%s)))\n", zNM, zNM);
 
   /* --extern-post-js=... */
-  pf("extern-post-js.js.%s-%s := $(dir.tmp)/extern-post-js.%s-%s.js\n", zNM, zNM);
+  pf("extern-post-js.js.%s-%s = $(dir.tmp)/extern-post-js.%s-%s.js\n", zNM, zNM);
   pf("$(eval $(call SQLITE.CALL.C-PP.FILTER,$(extern-post-js.js.in),$(extern-post-js.js.%s-%s),"
      "$(c-pp.D.%s-%s)))\n", zNM, zNM);
 
   /* Combined flags for use with emcc... */
-  pf("pre-post-common.flags.%s-%s := "
+  pf("pre-post-common.flags.%s-%s = "
      "$(pre-post-common.flags) "
      "--post-js=$(post-js.js.%s-%s) "
      "--extern-post-js=$(extern-post-js.js.%s-%s)\n", zNM, zNM, zNM);
@@ -279,10 +296,10 @@ static void mk_pre_post(const char *zName  /* build name */,
      "--pre-js=$(pre-js.js.%s-%s)\n", zNM, zNM, zNM);
 
   /* Set up deps... */
-  pf("pre-post-jses.%s-%s.deps := $(pre-post-jses.deps.common) "
+  pf("pre-post-jses.%s-%s.deps = $(pre-post-jses.deps.common) "
      "$(post-js.js.%s-%s) $(extern-post-js.js.%s-%s)\n",
      zNM, zNM, zNM);
-  pf("pre-post-%s-%s.deps := $(pre-post-jses.%s-%s.deps) $(dir.tmp)/pre-js.%s-%s.js\n",
+  pf("pre-post-%s-%s.deps = $(pre-post-jses.%s-%s.deps) $(dir.tmp)/pre-js.%s-%s.js\n",
      zNM, zNM, zNM);
   pf("# End --pre/--post flags for %s-%s%s", zNM, zBanner);
 #undef zNM
@@ -301,8 +318,8 @@ static void mk_fiddle(void){
     const char *zDir = i ? "$(dir.fiddle-debug)" : "$(dir.fiddle)";
 
     pf("%s# Begin fiddle%s\n", zBanner, zTail);
-    pf("fiddle-module.js%s := %s/fiddle-module.js\n", zTail, zDir);
-    pf("fiddle-module.wasm%s := "
+    pf("fiddle-module.js%s = %s/fiddle-module.js\n", zTail, zDir);
+    pf("fiddle-module.wasm%s = "
        "$(subst .js,.wasm,$(fiddle-module.js%s))\n", zTail, zTail);
     pf("$(fiddle-module.js%s):%s $(MAKEFILE_LIST) $(MAKEFILE.fiddle) "
        "$(EXPORTED_FUNCTIONS.fiddle) "
index 2c6fa35bddb4c886775592bf3e85cbbe4af051b9..c4515876fd218d605c700f731b56d6335725b8e3 100644 (file)
@@ -5,7 +5,7 @@
 # sqlite3.wasm.  It is intended to be "include"d from the main
 # GNUMakefile.
 ########################################################################
-MAKEFILE.wasmfs := $(lastword $(MAKEFILE_LIST))
+MAKEFILE.wasmfs = $(lastword $(MAKEFILE_LIST))
 # ensure that the following message starts on line 10 or higher for proper
 # $(warning) alignment!
 ifneq (1,$(MAKING_CLEAN))
@@ -17,8 +17,8 @@ ifneq (1,$(MAKING_CLEAN))
   $(warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
 endif
 
-sqlite3-wasmfs.js     := $(dir.wasmfs)/sqlite3-wasmfs.js
-sqlite3-wasmfs.wasm   := $(dir.wasmfs)/sqlite3-wasmfs.wasm
+sqlite3-wasmfs.js     = $(dir.wasmfs)/sqlite3-wasmfs.js
+sqlite3-wasmfs.wasm   = $(dir.wasmfs)/sqlite3-wasmfs.wasm
 
 ########################################################################
 # emcc flags for .c/.o.
@@ -43,7 +43,7 @@ emcc.flags.sqlite3-wasmfs += -Wno-limited-postlink-optimizations
 emcc.flags.sqlite3-wasmfs += -sMEMORY64=0
 emcc.flags.sqlite3-wasmfs += -sINITIAL_MEMORY=$(emcc.INITIAL_MEMORY.128)
 # ^^^^ 64MB is not enough for WASMFS/OPFS test runs using batch-runner.js
-sqlite3-wasmfs.fsflags := -pthread -sWASMFS \
+sqlite3-wasmfs.fsflags = -pthread -sWASMFS \
     -sPTHREAD_POOL_SIZE=1 \
     -sERROR_ON_UNDEFINED_SYMBOLS=0 -sLLD_REPORT_UNDEFINED
 # ^^^^^ why undefined symbols are necessary for the wasmfs build is anyone's guess.
@@ -54,9 +54,8 @@ emcc.flags.sqlite3-wasmfs += -sALLOW_MEMORY_GROWTH=0
 #   see https://github.com/WebAssembly/design/issues/1271 [-Wpthreads-mem-growth]
 # And, indeed, it runs slowly if memory is permitted to grow.
 #emcc.flags.sqlite3-wasmfs.vanilla :=
-#emcc.flags.sqlite3-wasmfs.esm := -sEXPORT_ES6 -sUSE_ES6_IMPORT_META
-all: $(sqlite3-wasmfs.mjs)
-$(sqlite3-wasmfs.js) $(sqlite3-wasmfs.mjs): $(MAKEFILE.wasmfs)
+#emcc.flags.sqlite3-wasmfs.esm = -sEXPORT_ES6 -sUSE_ES6_IMPORT_META
+$(sqlite3-wasmfs.js) $(dir.wasmfs)/sqlite3-wasmfs.mjs: $(MAKEFILE.wasmfs)
 ########################################################################
 # Build quirk: we cannot build BOTH .js and .mjs with our current
 # build infrastructure because the supplemental *.worker.js files get
@@ -68,31 +67,31 @@ $(sqlite3-wasmfs.js) $(sqlite3-wasmfs.mjs): $(MAKEFILE.wasmfs)
 # names is that it means that the corresponding .wasm file is also
 # built/saved multiple times. It is likely that anyone wanting to use
 # WASMFS will want an ES6 module, so that's what we build here.
-wasmfs.build.ext := mjs
-$(sqlite3-wasmfs.js) $(sqlite3-wasmfs.mjs): $(SOAP.js.bld)
+wasmfs.build.ext = mjs
+$(sqlite3-wasmfs.js) $(dir.wasmfs)/sqlite3-wasmfs.mjs: $(SOAP.js.bld)
 ifeq (js,$(wasmfs.build.ext))
   $(sqlite3-wasmfs.wasm): $(sqlite3-wasmfs.js)
   wasmfs: $(sqlite3-wasmfs.js)
 else
-  $(sqlite3-wasmfs.wasm): $(sqlite3-wasmfs.mjs)
-  wasmfs: $(sqlite3-wasmfs.mjs)
+  $(sqlite3-wasmfs.wasm): $(dir.wasmfs)/sqlite3-wasmfs.mjs
+  wasmfs: $(dir.wasmfs)/sqlite3-wasmfs.mjs
 endif
+all: wasmfs
 
 ########################################################################
 # speedtest1 for wasmfs.
-speedtest1-wasmfs.mjs := $(dir.wasmfs)/speedtest1-wasmfs.mjs
-speedtest1-wasmfs.wasm := $(subst .mjs,.wasm,$(speedtest1-wasmfs.mjs))
-emcc.flags.speedtest1-wasmfs := $(sqlite3-wasmfs.fsflags)
+speedtest1-wasmfs.mjs = $(dir.wasmfs)/speedtest1-wasmfs.mjs
+speedtest1-wasmfs.wasm = $(subst .mjs,.wasm,$(speedtest1-wasmfs.mjs))
+emcc.flags.speedtest1-wasmfs = $(sqlite3-wasmfs.fsflags)
 emcc.flags.speedtest1-wasmfs += $(SQLITE_OPT)
 emcc.flags.speedtest1-wasmfs += -sALLOW_MEMORY_GROWTH=0
 emcc.flags.speedtest1-wasmfs += -sINITIAL_MEMORY=$(emcc.INITIAL_MEMORY.128)
-#$(eval $(call call-make-pre-js,speedtest1-wasmfs,ems))
+$(info speedtest DEPS=pre-post-sqlite3-wasmfs-esm.deps=$(pre-post-sqlite3-wasmfs-esm.deps))
 $(speedtest1-wasmfs.mjs): $(speedtest1.cfiles) $(sqlite3-wasmfs.js) \
-  $(MAKEFILE) $(MAKEFILE.wasmfs) \
-  $(pre-post-sqlite3-wasmfs-esm.deps) \
+  $(MAKEFILE) $(MAKEFILE.wasmfs) $(pre-post-sqlite3-wasmfs-esm.deps) \
   $(EXPORTED_FUNCTIONS.speedtest1)
        @echo "Building $@ ..."
-       $(emcc.bin) \
+       $(bin.emcc) \
         $(pre-post-sqlite3-wasmfs-esm.flags) \
         $(cflags.common) \
         $(cflags.sqlite3-wasmfs) \
index 00be8a368f396b6f73de87ed5f16c20109d9f415..29b99cbbafaa04ef7bbb8c0501c7ff8021499c37 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\san\sunnecessary\sstep\sfrom\sthe\swasm\sbuilds\sand\saccount\sfor\sa\srecent\sEmscripten-internal\scode-generation\schange\swhich\scaused\sa\spost-build\scleanup\sstep\sto\snot\sactually\sclean\sup\s(harmless,\sbut\sadds\sabout\s26k\sof\suseless\sstuff\sto\sthe\sresulting\sJS).
-D 2025-07-16T11:56:16.567
+C wasm:\sremove\ssome\sextraneous\slevels\sof\smakefile\svar\sand\sfix\sthe\s(unsupported)\swasmfs\sspeedtest1\sbuild\sto\saccount\sfor\svar\srenaming\swhich\shappened\slong\sbefore\sthis.
+D 2025-07-16T13:22:38.693
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -622,7 +622,7 @@ F ext/session/sqlite3session.c 19e14bcca2fbc63a8022ffd708ea6e6986c4003a1e9bbca9b
 F ext/session/sqlite3session.h b81e8536ce4b83babafd700f4ff67017804b6c1d71df963b30d3972958e7f4a7
 F ext/session/test_session.c 8766b5973a6323934cb51248f621c3dc87ad2a98f023c3cc280d79e7d78d36fb
 F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile 52fb4cde68470c35e95a0815f575ad039cbe13b7dba7e1da7c71cb0924ad0ea8
+F ext/wasm/GNUmakefile 472720819d2cde9d7d4c957f2bfb8ebb0193fa75dca10a5c2ab0396ba0ef926b
 F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
 F ext/wasm/README.md b89605f65661cf35bf034ff6d43e448cc169b8017fc105d498e33b81218b482c
 F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
@@ -642,7 +642,7 @@ F ext/wasm/api/post-js-header.js 53740d824e5d9027eb1e6fd59e216abbd2136740ce260ea
 F ext/wasm/api/pre-js.c-pp.js a614a2c82b12c4d96d8e3ba77330329efc53c4d56a8a7e60ade900f341866cfb
 F ext/wasm/api/sqlite3-api-cleanup.js 3ac1786e461ada63033143be8c3b00b26b939540661f3e839515bb92f2e35359
 F ext/wasm/api/sqlite3-api-glue.c-pp.js 0b76510f3650053bac67ca8947cb6ab9d050ad2218118a2e7796dd37be832ffa
-F ext/wasm/api/sqlite3-api-oo1.c-pp.js f59e59f0d94ba5835c6b7fc9b800a4aa5084e1224721a07e3cd6cc7fef1789c2
+F ext/wasm/api/sqlite3-api-oo1.c-pp.js 852f2cd6acddbae487fc4f1c3ec952e6c1e2033aa4e6c7091d330d983c87c032
 F ext/wasm/api/sqlite3-api-prologue.js 4f1c2a9dc9caf631907766e9872c27d11b255ccae779e8af01c7f8b932817214
 F ext/wasm/api/sqlite3-api-worker1.c-pp.js f646a65257973b8c4481f8a6a216370b85644f23e64b126e7ae113570587c0ab
 F ext/wasm/api/sqlite3-license-version-header.js 0c807a421f0187e778dc1078f10d2994b915123c1223fe752b60afdcd1263f89
@@ -683,7 +683,7 @@ F ext/wasm/index-dist.html 56132399702b15d70c474c3f1952541e25cb0922942868f70daf1
 F ext/wasm/index.html bcaa00eca521b372a6a62c7e7b17a870b0fcdf3e418a5921df1fd61e5344080d
 F ext/wasm/jaccwabyt/jaccwabyt.js 6e4f26d0edb5c2e7d381b7eff1924832a040a12274afab2d1e1789027e9f6c5c
 F ext/wasm/jaccwabyt/jaccwabyt.md 1128e3563e7eff90b5a373395251fc76cb32386fad1fea6075b0f34a8f1b9bdf
-F ext/wasm/mkwasmbuilds.c 7468d1775bf3713f568fd2632464094d1792ce25ebd4cb9ee218420b4178bebe
+F ext/wasm/mkwasmbuilds.c 5cf96c716367bb5958fd96caa924aca053df8d84081dd46092dd351d1af6ae90
 F ext/wasm/module-symbols.html dc476b403369b26a1a23773e13b80f41b9a49f0825e81435fe3600a7cfbbe337
 F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96
 F ext/wasm/scratchpad-wasmfs.mjs 66034b9256b218de59248aad796760a1584c1dd842231505895eff00dbd57c63
@@ -708,7 +708,7 @@ F ext/wasm/tests/opfs/sahpool/digest.html 206d08a34dc8bd570b2581d3d9ab3ecad3201b
 F ext/wasm/tests/opfs/sahpool/index.html be736567fd92d3ecb9754c145755037cbbd2bca01385e2732294b53f4c842328
 F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2
 F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
-F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702
+F ext/wasm/wasmfs.make 4f6a679c06b45039a4b0456a546e95c4f24bf6d33455073bb055cc17b6739550
 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
 F main.mk a5d698cf8d38e4eb42a89f08a9521906b24f4acac61bbafa56d72cd9b39617b6
 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
@@ -2213,8 +2213,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 8364d89c3bc1d1dbd95b4324a41bd655251ebd2da5b9f1b9f9aceba9c3d26d3d
-R 0893c79a61f46e221edf5665d49d3e5c
+P a8ed16989dcd324bd9caa09aec7979249deaf59ca13bc377379ddd83c53379cd
+R 9ff9d7c107dd129efe8469b678cd73d7
 U stephan
-Z 67fac4b4445edb998537bdf8f4c47b0b
+Z 9b2f15ac0469aa2bbb0879fb5bc3ce42
 # Remove this line to create a well-formed Fossil manifest.
index 760fc1f0226712b2ef828bad78ebd41dc94f6ea6..b205abb7eb1a0c1ce1ee3393a61fa5b61169256d 100644 (file)
@@ -1 +1 @@
-a8ed16989dcd324bd9caa09aec7979249deaf59ca13bc377379ddd83c53379cd
+35b2315343e22ca12c6ee3f5be8741eba889bb6461e08fad0a8ae7db033319cb