b.echo = echo $(logtag.$(1)) $(2)
#
-# $(call b.call.mkdir@)
+# $(call b.mkdir@)
#
# $1 = optional LOGTAG
#
-b.call.mkdir@ = if [ ! -d $(dir $@) ]; then \
+b.mkdir@ = if [ ! -d $(dir $@) ]; then \
echo '[$(emo.folder)+] $(if $(1),$(logtag.$(1)),[$(dir $@)])'; \
mkdir -p $(dir $@) || exit; fi
#
-# $(call b.call.cp,@,src,dest)
+# $(call b.cp,@,src,dest)
#
# $1 = build name, $2 = src file(s). $3 = dest dir
-b.call.cp = $(call b.call.mkdir@); \
+b.cp = $(call b.mkdir@); \
echo '$(logtag.$(1)) $(emo.disk) $(2) ==> $3'; \
cp -p $(2) $(3) || exit
#
define b.eval.c-pp
$(3): $$(MAKEFILE_LIST) $$(bin.c-pp) $(2)
- @$$(call b.call.mkdir@); \
+ @$$(call b.mkdir@); \
$$(call b.echo,$(1),$$(emo.disk)$$(emo.lock) $$(bin.c-pp) $(4) $(if $(loud.if),$(2))); \
rm -f $(3); \
$$(bin.c-pp) -o $(3) $(4) $(2) || exit; \
c-pp.D.64bit = -D64bit
#
-# $(call b.call.strip-emcc-js-cruft)
+# $(call b.strip-js-emcc-bindings)
#
# Our JS code installs bindings of each sqlite3_...() WASM export. The
# generated Emscripten JS file does the same using its own framework,
# file.
#
# $1 = an optional log message prefix
-b.call.strip-emcc-js-cruft = \
+b.strip-js-emcc-bindings = \
sed -i -e '/^.*= \(_sqlite3\|_fiddle\)[^=]*=.*createExportWrapper/d' \
-e '/^var \(_sqlite3\|_fiddle\)[^=]*=.*makeInvalidEarlyAccess/d' $@ || exit; \
echo '$(1) $(emo.garbage) (Probably) /createExportWrapper()/d and /makeInvalidEarlyAccess()/d'
endif
EXPORTED_FUNCTIONS.api = $(dir.tmp)/EXPORTED_FUNCTIONS.api
$(EXPORTED_FUNCTIONS.api): $(EXPORTED_FUNCTIONS.api.in) $(sqlite3.c) $(MAKEFILE)
- @$(call b.call.mkdir@)
+ @$(call b.mkdir@)
cat $(EXPORTED_FUNCTIONS.api.in) > $@
########################################################################
# https://github.com/emscripten-core/emscripten/issues/14383
sqlite3.wasm = $(dir.dout)/sqlite3.wasm
sqlite3-wasm.c = $(dir.api)/sqlite3-wasm.c
-sqlite3-wasm.cfiles = $(sqlite3-wasm.c) $(sqlite3_wasm_extra_init.c)
-sqlite3-wasmfs.cfiles = $(sqlite3-wasm.cfiles)
+sqlite3-wasm.c.in = $(sqlite3-wasm.c) $(sqlite3_wasm_extra_init.c)
+sqlite3-wasmfs.c.in = $(sqlite3-wasm.c.in)
# sqlite3-wasm.o vs sqlite3-wasm.c: building against the latter
# (predictably) results in a slightly faster binary. We're close
# enough to the target speed requirements that the 500ms makes a
#
define b.call.patch-export-default
if [ x1 = x$(1) ]; then \
- echo "$(if $(3),$(3),$(logtag.@)) $(emo.bug) Fragile workaround for emscripten/issues/18237." \
+ echo "$(if $(3),$(3),$(logtag.@)) $(emo.bug) Fragile" \
+ "workaround for emscripten/issues/18237." \
"See b.call.patch-export-default."; \
{\
- awk '/^export default/ && !f{f=1; next} 1' $@ > $@.tmp && mv $@.tmp $@; \
+ awk '/^export default/ && !f{f=1; next} 1' $@ \
+ > $@.tmp && mv $@.tmp $@; \
} || exit; \
if [ x1 = x$(2) ]; then \
if ! grep -q '^export default' $@; then \
fi
endef
-#
-# We may not need these anymore in this file. They're primarily for
-# use in mkwasmbuilds.c.
-#
-sqlite3.js = $(dir.dout)/sqlite3.js
-sqlite3.mjs = $(dir.dout)/sqlite3.mjs
-sqlite3.wasm = $(dir.dout)/sqlite3.wasm
-sqlite3-64bit.js = $(dir.dout)/sqlite3-64bit.js
-sqlite3-64bit.mjs = $(dir.dout)/sqlite3-64bit.mjs
-sqlite3-64bit.wasm = $(dir.dout)/sqlite3-64bit.wasm
-EXPORTED_FUNCTIONS.fiddle = $(dir.tmp)/EXPORTED_FUNCTIONS.fiddle
-
#
# The various -D... values used by *.c-pp.js include:
#
$(sqlite3-license-version.js): $(bin.version-info) \
$(dir.api)/sqlite3-license-version-header.js
@echo '$(logtag.@) $(emo.disk)'; { \
- $(call b.call.mkdir@); \
+ $(call b.mkdir@); \
cat $(dir.api)/sqlite3-license-version-header.js || exit $$?; \
echo '/*'; \
echo '** This code was built from sqlite3 version...'; \
sqlite3-api-build-version.js = $(dir.tmp)/sqlite3-api-build-version.js
$(sqlite3-api-build-version.js): $(bin.version-info) $(MAKEFILE)
@echo '$(logtag.@) $(emo.disk)'; { \
- $(call b.call.mkdir@); \
+ $(call b.mkdir@); \
echo 'globalThis.sqlite3ApiBootstrap.initializers.push(function(sqlite3){'; \
echo -n ' sqlite3.version = '; \
$(bin.version-info) --json; \
#
sqlite3.ext.js += $(dir.dout)/sqlite3-opfs-async-proxy.js
$(dir.dout)/sqlite3-opfs-async-proxy.js: $(dir.api)/sqlite3-opfs-async-proxy.js
- @$(call b.call.cp,@,$<,$@)
+ @$(call b.cp,@,$<,$@)
#
# Add a dep of $(sqlite3.ext.js) on every build's JS file.
$(EXPORTED_FUNCTIONS.speedtest1): $(EXPORTED_FUNCTIONS.api.core)
@echo "Making $@ ..."
- @$(call b.call.mkdir@)
+ @$(call b.mkdir@)
@{ echo _wasm_main; cat $(EXPORTED_FUNCTIONS.api.core); } > $@
speedtest1: $(out.speedtest1.js)
# end speedtest1.js
exit 127
else
wasm.docs.jswasm = $(wasm.docs.home)/jswasm
-update-docs: $(bin.stripccomments) $(sqlite3.js) $(sqlite3.wasm)
+update-docs: $(bin.stripccomments) $(out.sqlite3.js) $(out.sqlite3.wasm)
@echo "Copying files to the /wasm docs. Be sure to use an -Oz build for this!"
cp $(sqlite3.wasm) $(wasm.docs.jswasm)/.
- $(bin.stripccomments) -k -k < $(sqlite3.js) \
+ $(bin.stripccomments) -k -k < $(out.sqlite3.js) \
| sed -e '/^[ \t]*$$/d' > $(wasm.docs.jswasm)/sqlite3.js
cp demo-123.js demo-123.html demo-123-worker.html $(wasm.docs.home)
sed -n -e '/EXTRACT_BEGIN/,/EXTRACT_END/p' \
@sort -u $(fiddle.EXPORTED_FUNCTIONS.in) > $@
@echo $(logtag.@) $(emo.disk)
-fiddle.cses = $(dir.top)/shell.c $(sqlite3-wasm.c)
+fiddle.c.in = $(dir.top)/shell.c $(sqlite3-wasm.c)
clean: clean-fiddle
clean-fiddle:
char const * aRequiredVars[] = {
"dir.top",
"dir.api", "dir.dout", "dir.tmp",
- "MAKEFILE", "MAKEFILE_LIST",
- /* Fiddle... */
"dir.fiddle", "dir.fiddle.debug",
- "EXPORTED_FUNCTIONS.fiddle",
- /* Some core JS files... */
- // todo: we don't need these anymore
- "sqlite3.js", "sqlite3.mjs",
- "sqlite3-64bit.js", "sqlite3-64bit.mjs",
/*"just-testing",*/
0
};
"\t\t$(emcc.flags.$(1)) "
"\t\t$(cflags.common) $(cflags.$(1)) "
"\t\t$(SQLITE_OPT) "
- "\t\t$(cflags.wasm_extra_init) $(sqlite3-wasm.cfiles)\n"
+ "\t\t$(cflags.wasm_extra_init) $(sqlite3-wasm.c.in)\n"
"endef\n"
);
}
static void emit_compile_start(char const *zBuildName){
- pf("\t@$(call b.call.mkdir@);"
+ pf("\t@$(call b.mkdir@);"
" $(call b.echo,%s,$(emo.compile) building ...)\n",
zBuildName);
}
pf("# zCmppD=%s\n# zBaseName=%s\n",
pB->zCmppD ? pB->zCmppD : "", zBaseName);
- pf(
- "b.names += %s\n"
- "emo.b.%s = %s\n",
- zBuildName, zBuildName, pB->zEmo);
+ pf("b.names += %s\n"
+ "emo.b.%s = %s\n",
+ zBuildName, zBuildName, pB->zEmo);
+
+ pf("logtag.%s ?= [%s [%s] $@]:\n",
+ zBuildName, pB->zEmo, zBuildName);
- pf("logtag.%s ?= [%s [%s] $@]:\n", zBuildName, pB->zEmo, zBuildName);
if( pB->zIfCond ){
pf("%s\n", pB->zIfCond );
}
+
pf("$(info $(logtag.%s) Setting up target b-%s)\n",
zBuildName, zBuildName );
{ /* build it... */
pf(zBanner
- "$(out.%s.js): $(MAKEFILE_LIST) $(sqlite3-wasm.cfiles)"
+ "$(out.%s.js): $(MAKEFILE_LIST) $(sqlite3-wasm.c.in)"
" $(EXPORTED_FUNCTIONS.api) $(deps.%s)"
" $(bin.mkwb) $(pre-post.%s.deps)"
"\n",
" $(cflags.common)"
" $(cflags.%s)"
" $(SQLITE_OPT)"
- " $(cflags.wasm_extra_init) $(sqlite3-wasm.cfiles)\n",
+ " $(cflags.wasm_extra_init) $(sqlite3-wasm.c.in)\n",
zBuildName, zBuildName, zBuildName, zBuildName
);
}
pf("\t@$(call b.call.wasm-strip,%s)\n", zBuildName);
pf("\t@$(call b.do.wasm-opt,%s)\n", zBuildName);
- pf("\t@$(call b.call.strip-js-cruft,$(logtag.%s))\n", zBuildName);
+ pf("\t@$(call b.strip-js-emcc-bindings,$(logtag.%s))\n", zBuildName);
if( CP_JS & pB->flags && !(pB->zDotWasm/*handled below*/) ){
- pf("\t@$(call b.call.cp,%s,$@,$(dir.dout))\n",
+ pf("\t@$(call b.cp,%s,$@,$(dir.dout))\n",
zBuildName
);
}
if( CP_WASM & pB->flags ){
- pf("\t@$(call b.call.cp,%s,$(basename $@).wasm,$(dir.dout))\n",
+ pf("\t@$(call b.cp,%s,$(basename $@).wasm,$(dir.dout))\n",
zBuildName
//"\techo '[%s $(out.%s.wasm)] $(emo.disk) $(dir.dout)/$(notdir $(out.%s.wasm))'
//pB->zEmo, zBuildName
{/* emcc */
pf("$(out.%s.js): $(MAKEFILE_LIST) $(MAKEFILE.fiddle) "
"$(EXPORTED_FUNCTIONS.fiddle) "
- "$(fiddle.cses) "
+ "$(fiddle.c.in) "
"$(pre-post.%s.deps)\n",
zBuildName, zBuildName);
emit_compile_start(zBuildName);
pf("\t$(b.cmd@)$(bin.emcc) -o $@"
" $(emcc.flags.%s)" /* set in fiddle.make */
" $(pre-post.%s.flags)"
- " $(fiddle.cses)"
+ " $(fiddle.c.in)"
"\n",
zBuildName, zBuildName);
pf("\t@chmod -x $(out.%s.wasm)\n", zBuildName);
pf("\t@$(call b.call.wasm-strip,%s)\n", zBuildName);
- pf("\t@$(call b.call.strip-js-cruft,$(logtag.%s))\n", zBuildName);
- pf("\t@$(call b.call.cp,"
+ pf("\t@$(call b.strip-js-emcc-bindings,$(logtag.%s))\n",
+ zBuildName);
+ pf("\t@$(call b.cp,"
"%s,"
"$(dir.api)/sqlite3-opfs-async-proxy.js,"
"$(dir $@))\n", zBuildName);
if( isDebug ){
- pf("\t@$(call b.call.cp,%s,"
+ pf("\t@$(call b.cp,%s,"
"$(dir.fiddle)/index.html "
"$(dir.fiddle)/fiddle.js "
"$(dir.fiddle)/fiddle-worker.js,"
")\n",
zBuildName);
}
+ pf("\t@$(call b.echo,%s,$(emo.done) done!)\n", zBuildName);
}
pf("\n%s: $(out.%s.wasm)\n", isDebug ? "more" : "all", zBuildName);
-C Consolidate\sthe\sspeedtest1\swasm\sbuild\sinto\sthe\snew\smkwasmbuilds.c\smodel.\sRemove\sthe\slong-unused\sbatch-runner\sJS\stools.
-D 2025-09-25T02:02:48.595
+C Minor\sbuild\scleanups.
+D 2025-09-25T02:30:55.638
F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F ext/session/sqlite3session.h 7404723606074fcb2afdc6b72c206072cdb2b7d8ba097ca1559174a80bc26f7a
F ext/session/test_session.c 8766b5973a6323934cb51248f621c3dc87ad2a98f023c3cc280d79e7d78d36fb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile a5abc4ad90d9426e80a24778fedfb5947d827e22f53ae4cff99ccc8e52bcfdd7
+F ext/wasm/GNUmakefile 8c8ff1424143e6dcec7feedbc9eaef8c11ad0c6ba09f2a8ab3162992d19f7354
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
F ext/wasm/README.md 66ace67ae98a45e4116f2ca5425b716887bcee4d64febee804ff6398e1ae9ec7
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
F ext/wasm/demo-worker1.js 08720227e98fa5b44761cf6e219269cee3e9dd0421d8d91459535da776950314
F ext/wasm/dist.make 57f5da2f0de5a297b5a0bc39ffec736380050578240ab24d864c2ff1b3634a3b
F ext/wasm/example_extra_init.c 2347cd69d19d839ef4e5e77b7855103a7fe3ef2af86f2e8c95839afd8b05862f
-F ext/wasm/fiddle.make 6875473b9fc25e8ba35d62341fdf8bc0980aa52de637daf5b9cfd864cfe43161
+F ext/wasm/fiddle.make 1b3f2f68744462953014565e97f76569f23dbb69ce118d1e61dd0028dee6acba
F ext/wasm/fiddle/fiddle-worker.js 7798af02e672e088ff192716f80626c8895e19301a65b8af6d5d12b2d13d2451
F ext/wasm/fiddle/fiddle.js 84fd75967e0af8b69d3dd849818342227d0f81d13db92e0dcbc63649b31a4893
F ext/wasm/fiddle/index.html a27b8127ef9ecf19612da93b2a6a73bdb3777b5c56b5450bb7200a94bc108ff9
F ext/wasm/index.html 1b329fb63e057c02a17ce178308d6b06aac62d92af7dd6d821fb0e183e0f1557
F ext/wasm/jaccwabyt/jaccwabyt.js bbac67bc7a79dca34afe6215fd16b27768d84e22273507206f888c117e2ede7d
F ext/wasm/jaccwabyt/jaccwabyt.md 167fc0b624c9bc2c477846e336de9403842d81b1a24fc4d3b24317cb9eba734f
-F ext/wasm/mkwasmbuilds.c 29e55190b6bdb2b9a52966e34144c3af3948331fd65a713910c9c7231d75f4b6
+F ext/wasm/mkwasmbuilds.c 42fee70e95af9010d517046703b2028046fcc77f881d9080f4deaae925dbb930
F ext/wasm/module-symbols.html dc476b403369b26a1a23773e13b80f41b9a49f0825e81435fe3600a7cfbbe337
F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96
F ext/wasm/scratchpad-wasmfs.mjs 66034b9256b218de59248aad796760a1584c1dd842231505895eff00dbd57c63
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P fd0c649047f4e444ea682138a3555a973839627150e1124bb9d9ced17880a9e5
-R 4644e40acad7ec2826869dd780c99c6c
+P 980c033c05bf37c0e8f5e82486ee99ba1294cc9c9e2087aaf83b64e5d0118b5f
+R 14708c75cd81fef3bbca93e2413d09ef
U stephan
-Z 003460e9650f2a4bf650b04d84b0f4a7
+Z d14f404cd64d687e44c207d364cea408
# Remove this line to create a well-formed Fossil manifest.
-980c033c05bf37c0e8f5e82486ee99ba1294cc9c9e2087aaf83b64e5d0118b5f
+05e7ea021388fcac975779cd2a70e341e25670e70d1d9f372f15b823b2466750