From: stephan Date: Fri, 26 Sep 2025 11:47:13 +0000 (+0000) Subject: Docs and dead code removal in mkwasmbuilds.c. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c839ea5d94e8ba827f9feabeffac4c549a43b5c7;p=thirdparty%2Fsqlite.git Docs and dead code removal in mkwasmbuilds.c. FossilOrigin-Name: d022ee167b90a7c32049a93d476e869270018017f60551185024409730d77640 --- diff --git a/ext/wasm/mkwasmbuilds.c b/ext/wasm/mkwasmbuilds.c index b24bfebec7..e8442d6db5 100644 --- a/ext/wasm/mkwasmbuilds.c +++ b/ext/wasm/mkwasmbuilds.c @@ -44,7 +44,7 @@ ** e.g. F_BUNDLER_FRIENDLY=0x02|F_ESM, as that will lead ** to breakage in some of the flag checks. */ -enum { +enum BuildDefFlags { /* Indicates an ESM module build. */ F_ESM = 0x01, /* Indicates a "bundler-friendly" build mode. */ @@ -100,17 +100,43 @@ enum { ** $(dir.dout). See the notes for the CP_JS enum entry for more ** details on that. ** +** The final result of each build is a pair of JS/WASM files, but +** getting there requires generation of several files, primarily as +** inputs for specific Emscripten flags: +** +** --pre-js = file gets injected after Emscripten's earliest starting +** point, enabling limited customization of Emscripten's +** behavior. This code lives/runs within the generated sqlite3InitModule(). +** +** --post-js = gets injected after Emscripten's main work, but still +** within the body of sqlite3InitModule(). +** +** --extern-pre-js = gets injected before sqlite3InitModule(), in the +** global scope. +** +** --extern-pre-js = gets injected immediately after +** sqlite3InitModule(), in the global scope. +** +** Then there's sqlite3-api.BuildName.js, which is the entire SQLite3 +** JS API (generated from the list defined in $(sqlite3-api.jses)). It +** gets sandwitched inside --post-js. +** +** Each of those inputs has to be generated before passing them on to +** Emscripten so that any build-specific capabilities can get filtered +** in or out (using ./c-pp.c). +** ** [^1]: The legal BuildNames are in this file's BuildDef_map macro. */ struct BuildDef { - /** - Base name of output JS and WASM files. + /* + ** Base name of output JS and WASM files. The X part of X.js and + ** X.wasm. */ const char *zBaseName; /* ** A glyph to use in log messages for this build, intended to help ** the eyes distinguish the build lines more easily in parallel - ** builds. + ** builds. ** ** The convention for 32- vs 64-bit pairs is to give them similar ** emoji, e.g. a cookie for 32-bit and a donut or cake for 64. @@ -139,7 +165,7 @@ struct BuildDef { ** $zIfCond/endif block. */ const char *zIfCond; /* makefile "ifeq (...)" or similar */ - int flags; /* Flags from LibModeFlags */ + int flags; /* Flags from BuildDefFlags */ }; typedef struct BuildDef BuildDef; @@ -149,8 +175,8 @@ typedef struct BuildDef BuildDef; ** ** Many makefile vars use these identifiers for naming stuff, e.g.: ** -** out.NAME.js = output file NAME.js or NAME.mjs -** out.NAME.wasm = output file NAME.wasm +** out.NAME.js = output JS file for the build named NAME +** out.NAME.wasm = output WASM file for the build named NAME ** logtag.NAME = Used for decorating log output ** ** etc. @@ -267,7 +293,7 @@ const BuildDefs oBuildDefs = { .flags = CP_ALL }, - /* speedtest1, 64-bit */ + /* speedtest1 64-bit */ .speedtest164 = { .zEmo = "🛼64", .zBaseName = "speedtest1-64bit", @@ -873,12 +899,12 @@ static void mk_lib_mode(const char *zBuildName, const BuildDef * pB){ static void emit_gz(char const *zBuildName, - char const *zOutDotSExt){ + char const *zFileExt){ pf("\n$(out.%s.%s).gz: $(out.%s.%s)\n" "\t@$(call b.echo,%s,$(emo.disk))\n" "\t@gzip < $< > $@\n", - zBuildName, zOutDotSExt, - zBuildName, zOutDotSExt, + zBuildName, zFileExt, + zBuildName, zFileExt, zBuildName); } @@ -1001,22 +1027,7 @@ int main(int argc, char const ** argv){ #define E(N) mk_lib_mode(# N, &oBuildDefs.N); BuildDefs_map(E) #undef E -#if 0 - pf(zBanner - "$(dir.dout)/sqlite3.js: $(out.vanilla.js)\n" - "$(dir.dout)/sqlite3.mjs: $(out.esm.js)\n" - "$(dir.dout)/sqlite3.wasm: $(out.vanilla.wasm)\n" - "$(dir.dout)/sqlite3-64bit.js: $(out.vanilla64.js)\n" - "$(dir.dout)/sqlite3-64bit.mjs: $(out.esm64.js)\n" - "$(dir.dout)/sqlite3-64bit.wasm: $(out.vanilla64.wasm)\n" - "b-vanilla: $(dir.dout)/sqlite3.wasm\n" - "b-vanilla64: $(dir.dout)/sqlite3-64bit.wasm\n" - "b-esm: $(dir.dout)/sqlite3.mjs\n" - "b-esm64: $(dir.dout)/sqlite3-64bit.mjs\n" - ); -#endif mk_fiddle(); - //mk_speedtest1(); } return rc; } diff --git a/manifest b/manifest index 2c932d7751..1038dc2fd6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\ssome\sinteger\soverflow\sproblems\swhen\shandling\scorrupt\shexdb\sdumps\sin\sthe\sshell\stool.\s[forum:/forumpost/82b513b116\s|\sForum\spost\s82b513b116]. -D 2025-09-26T11:45:13.976 +C Docs\sand\sdead\scode\sremoval\sin\smkwasmbuilds.c. +D 2025-09-26T11:47:13.381 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -634,7 +634,7 @@ F ext/wasm/index.html 1b329fb63e057c02a17ce178308d6b06aac62d92af7dd6d821fb0e183e F ext/wasm/jaccwabyt/jaccwabyt.js bbac67bc7a79dca34afe6215fd16b27768d84e22273507206f888c117e2ede7d F ext/wasm/jaccwabyt/jaccwabyt.md 167fc0b624c9bc2c477846e336de9403842d81b1a24fc4d3b24317cb9eba734f F ext/wasm/mkdist.sh 29f8a37a7aba41fa5df8e89b1fab02b83b35c43473c5cf808584872e022514b8 x -F ext/wasm/mkwasmbuilds.c e3f9e1d4b86498d621397f3a617816df51df019191ee259f9178705300225c07 +F ext/wasm/mkwasmbuilds.c 91624cea0a0e7b9b0c96bfb682f5a89c46d4f804a116b209dcbc808001a2c97f F ext/wasm/module-symbols.html dc476b403369b26a1a23773e13b80f41b9a49f0825e81435fe3600a7cfbbe337 F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96 F ext/wasm/scratchpad-wasmfs.mjs 66034b9256b218de59248aad796760a1584c1dd842231505895eff00dbd57c63 @@ -2170,8 +2170,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 dfc41cb3aad7fedd834baaaba0d8e3aeb55a249af4f0934397652ea9c59dc9fc -R bfd736fdadafc7a2e091ac2f8e9afb8f -U dan -Z 38301d6866f451ade983b3377617b51b +P 730323f95d126162fd2867dbee1e1f1fc1d6e05b8a905a6767c4ab1cb43dacff +R faa2ab647662f02d7597fe8c7adf751b +U stephan +Z 5abc90edeae288fecddcb4d9b9371ac5 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index d3cf5bdbc5..27345a6617 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -730323f95d126162fd2867dbee1e1f1fc1d6e05b8a905a6767c4ab1cb43dacff +d022ee167b90a7c32049a93d476e869270018017f60551185024409730d77640