]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00...
authorstephan <stephan@noemail.net>
Sun, 9 Feb 2025 04:16:01 +0000 (04:16 +0000)
committerstephan <stephan@noemail.net>
Sun, 9 Feb 2025 04:16:01 +0000 (04:16 +0000)
FossilOrigin-Name: 55e01365946b3432e93da5c08200e476e2a134c98b963b4170e4dfae8408a005

ext/wasm/GNUmakefile
ext/wasm/mkwasmbuilds.c
manifest
manifest.uuid

index e18ec074c66d41f5294ca82806baaf86831ddf3f..c9852e389c51b4b1969453bdf8c8f1f089991485 100644 (file)
@@ -165,7 +165,7 @@ dir.wasmfs := $(dir.dout)
 
 MKDIR.bld := $(dir.tmp)
 $(MKDIR.bld):
-       -mkdir -p $@ $(dir.dout)
+       @mkdir -p $@ $(dir.dout)
 
 CLEAN_FILES += *~ $(dir.jacc)/*~ $(dir.api)/*~ $(dir.common)/*~ $(dir.fiddle)/*~ \
   $(dir.fiddle-debug)/* $(dir.dout)/* $(dir.tmp)/*
@@ -424,8 +424,8 @@ define SQLITE.CALL.C-PP.FILTER
 # $1 = Input file: c-pp -f $(1).js
 # $2 = Output file: c-pp -o $(2).js
 # $3 = optional c-pp -D... flags
-$(2): $(1) $$(MAKEFILE) $$(bin.c-pp)
-       mkdir -p $$(dir $$@)
+$(2): $(1) $$(MAKEFILE_LIST) $$(bin.c-pp)
+       @mkdir -p $$(dir $$@)
        $$(bin.c-pp) -f $(1) -o $$@ $(3) $(SQLITE.CALL.C-PP.FILTER.global)
 #CLEAN_FILES += $(2)
 endef
index e762b572cda87d05aba8f1b0c57f4586dd5b1ff5..91c03b6d42f2642881beadfd0e4943c12aa7594f 100644 (file)
@@ -151,7 +151,7 @@ static void mk_pre_post(const char *zName  /* build name */,
   /* --pre-js=... */
   pf("pre-js.js.%s-%s := $(dir.tmp)/pre-js.%s-%s.js\n",
      zNM, zNM);
-  pf("$(pre-js.js.%s-%s): $(MAKEFILE)\n", zNM);
+  pf("$(pre-js.js.%s-%s): $(MAKEFILE_LIST)\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);
@@ -218,7 +218,7 @@ static void mk_fiddle(){
     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) $(MAKEFILE.fiddle) "
+    pf("$(fiddle-module.js%s):%s $(MAKEFILE_LIST) $(MAKEFILE.fiddle) "
        "$(EXPORTED_FUNCTIONS.fiddle) "
        "$(fiddle.cses) $(pre-post-fiddle-module-vanilla.deps) "
        "$(SOAP.js)\n",
@@ -285,7 +285,7 @@ static void mk_lib_mode(const char *zName     /* build name */,
      zApiJsOut, zCmppD);
 
   /* target zJsOut */
-  pf("%s: %s $(MAKEFILE) $(sqlite3-wasm.cfiles) $(EXPORTED_FUNCTIONS.api) "
+  pf("%s: %s $(MAKEFILE_LIST) $(sqlite3-wasm.cfiles) $(EXPORTED_FUNCTIONS.api) "
      "$(pre-post-%s-%s.deps) "
      "$(sqlite3-api.ext.jses)"
      /* ^^^ maintenance reminder: we set these as deps so that they
@@ -304,9 +304,10 @@ static void mk_lib_mode(const char *zName     /* build name */,
      "\t\t$(cflags.%s) $(cflags.%s.%s) \\\n"
      "\t\t$(cflags.wasm_extra_init) $(sqlite3-wasm.cfiles)\n", zName, zNM);
   if( bIsEsm ){
-    /* TODO? Replace this CALL with the corresponding makefile code.
-    ** OTOH, we also use this $(call) in the speedtest1-wasmfs build,
-    ** which is not part of the rules emitted by this program. */
+    /* TODO? Replace this $(call) with the corresponding makefile
+    ** code.  OTOH, we also use this $(call) in the speedtest1-wasmfs
+    ** build, which is not part of the rules emitted by this
+    ** program. */
     pf("\t@$(call SQLITE.CALL.xJS.ESM-EXPORT-DEFAULT,1,%d)\n",
        0==strcmp("sqlite3-wasmfs", zName) ? 1 : 0);
   }
@@ -338,6 +339,16 @@ static void mk_lib_mode(const char *zName     /* build name */,
        /* ^^^^^^ reminder: Mac/BSD sed has no -i flag */
        zNM, zName);
     pf("\t@ls -la $@\n");
+    if( 0==strcmp("bundler-friendly", zMode) ){
+      /* Avoid a 3rd occurance of the bug fixed by 65798c09a00662a3,
+      ** which was (in two cases) caused by makefile refactoring and
+      ** not recognized until after a release was made with the broken
+      ** sqlite3-bundler-friendly.mjs: */
+      pf("\t@if grep -e '^ *importScripts(' $@; "
+         "then echo 'ERROR: bug fixed in 65798c09a00662a3 has re-appeared'; "
+         "exit 1; fi;\n");
+    }
+
   }else{
     pf("\t@ls -la %s $@\n", zWasmOut);
   }
index 5332ffd8f1c911961d49702453b1ade2d2bb4a62..1172e83ce6c2b78670c9764a58348f5d110ec0f5 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C wasm:\swhen\sbuilding\sin\s-O0\smode\s(typical\sdev\smode),\suse\s-sASSERTIONS=2,\selse\s-sASSERTIONS=0,\sin\sresponse\s[https://github.com/emscripten-core/emscripten/pull/23629/commits/7e3e35cbff9c5688eacb3cddc5045f872d744efd|Emscripten\scheckin\s7e3e35cbff9],\swhich\sadds\sassertions\sto\scheck\sfor\sthe\scondition\sreported\sin\s[https://github.com/emscripten-core/emscripten/issues/23420|Emscripten\sticket\s23420].\sUpdate\ssome\sunrelated\sJS-side\sinternal\sdocs.
-D 2025-02-09T03:24:00.963
+C wasm:\sadd\ssome\sbuild-time\svalidation\sto\sensure\sthat\sthe\sproblem\sfixed\sin\s[65798c09a00662a3]\sdoes\snot\srecur.\sEnsure\sthat\sfiles\sgenerated\svia\smkwasmbuilds.c\shave\sthe\sgenerated\smakefile\sas\sa\sdependency.
+D 2025-02-09T04:16:01.518
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -619,7 +619,7 @@ F ext/session/sqlite3session.c 52a680dbb03c4734748b215d95987fb4d95ab23baaf053a01
 F ext/session/sqlite3session.h 683ccbf16e2c2521661fc4c1cf918ce57002039efbcabcd8097fa4bca569104b
 F ext/session/test_session.c 12e0a2c15fd60f92da4bb29c697c9177ff0c0dbcdc5129a54c47e999f147937a
 F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile 654f27c0735e83c63f541b1964ef0f57423ceb71b05146de90c56b2f534f7b3b
+F ext/wasm/GNUmakefile 06e0556e9840fd3d8870997025c2507ace9ba7bf11195f770295fc7947dfc1b5
 F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
 F ext/wasm/README.md b89605f65661cf35bf034ff6d43e448cc169b8017fc105d498e33b81218b482c
 F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
@@ -680,7 +680,7 @@ F ext/wasm/index-dist.html 56132399702b15d70c474c3f1952541e25cb0922942868f70daf1
 F ext/wasm/index.html e4bbffdb3d40eff12b3f9c7abedef91787e2935620b7f8d40f2c774b80ad8fa9
 F ext/wasm/jaccwabyt/jaccwabyt.js 1264710db3cfbcb6887d95665b7aeba60c1126eaef789ca4cf1a4a17d5bc7f54
 F ext/wasm/jaccwabyt/jaccwabyt.md 59a20df389abcc3606eb4eaea7fb7ba14504beb3e345dbea9b99a0618ba3bec8
-F ext/wasm/mkwasmbuilds.c 954fe4242e877aeb60de44070628f5215ff51e5d102db6e2cb7da8c21e9e3401
+F ext/wasm/mkwasmbuilds.c baf6636e139e2c1e3b56e8dc26073ec80f6d14ae1876b023985315f43ccf312b
 F ext/wasm/module-symbols.html dc476b403369b26a1a23773e13b80f41b9a49f0825e81435fe3600a7cfbbe337
 F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96
 F ext/wasm/scratchpad-wasmfs.mjs 66034b9256b218de59248aad796760a1584c1dd842231505895eff00dbd57c63
@@ -2209,8 +2209,9 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P c22c48360756b1c7e2f5a9c01aff799bc188e100d364931de0dc3686e5de57a9
-R 28b52c82e3748c1458cec26f6dc126a2
+P 1f554610ba5d9d474ec4570bb7ca09125fd2cdfb4976530a4227cc6ebdf3a962
+Q +012b308b04e6a9e3acbb842317b01b4b91ac165b925918cf20c1f52d045a6ec0
+R 808b1c99ce5bd703201eda0df9bba093
 U stephan
-Z f11611286d8691d31123798a11e49271
+Z 6ac45fbba274f684a5ae3627af8e6a38
 # Remove this line to create a well-formed Fossil manifest.
index 5585f98c01b361ef7843e9f395a0c5f606d03900..f2651eae98c718758b25e600f716a3d80a7e6ede 100644 (file)
@@ -1 +1 @@
-1f554610ba5d9d474ec4570bb7ca09125fd2cdfb4976530a4227cc6ebdf3a962
+55e01365946b3432e93da5c08200e476e2a134c98b963b4170e4dfae8408a005