# by the target name. Rebuild is necessary for all components to get
# the desired optimization level.
#
+# quick, q = do just a minimal build (sqlite3.js/wasm, tester1) for
+# faster development-mode turnaround.
+#
+# qo2, qoz = a combination of quick+o2/oz.
+#
# dist = create end user deliverables. Add dist.build=oX to build
# with a specific optimization level, where oX is one of the
-# above-listed o? target names.
+# above-listed o? or qo? target names.
+#
+# snapshot = like dist, but uses a zip file name which clearly
+# marks it as a prerelease/snapshot build.
#
# clean = clean up
#
endef
$(foreach X,$(SOAP.js) $(sqlite3-worker1.js) $(sqlite3-worker1-promiser.js),\
$(eval $(call COPY_XAPI,$(X))))
-all: $(sqlite3-api.ext.jses)
+all quick: $(sqlite3-api.ext.jses)
+q: quick
# sqlite3-api.js.in = the generated sqlite3-api.js before it gets
# preprocessed. It contains all of $(sqlite3-api.jses) but none of the
########################################################################
emcc.jsflags += $(emcc.environment)
-emcc.jsflags += -sSTACK_SIZE=1MB
+emcc.jsflags += -sSTACK_SIZE=512KB
# ^^^ ACHTUNG: emsdk 3.1.27 reduced the default stack size from 5MB to
# a mere 64KB, which leads to silent memory corruption via the kvvfs
# VFS, which requires twice that for its xRead() and xWrite() methods.
$(sqlite3.wasm): $(sqlite3.js)
$(sqlite3.mjs): $(sqlite3.js)
CLEAN_FILES += $(sqlite3.js) $(sqlite3.mjs) $(sqlite3.wasm)
-all: $(sqlite3.mjs)
-wasm: $(sqlite3.mjs)
+all: $(sqlite3.js) $(sqlite3.mjs)
+quick: $(sqlite3.js)
# End main $(sqlite3.js) build
########################################################################
speedtest1.eflags.common += -sMODULARIZE
speedtest1.eflags.common += -Wno-limited-postlink-optimizations
EXPORTED_FUNCTIONS.speedtest1 := $(abspath $(dir.tmp)/EXPORTED_FUNCTIONS.speedtest1)
-speedtest1.eflags.common += -sSTACK_SIZE=1MB
+speedtest1.eflags.common += -sSTACK_SIZE=512KB
speedtest1.eflags.common += -sEXPORTED_FUNCTIONS=@$(EXPORTED_FUNCTIONS.speedtest1)
speedtest1.eflags.common += $(emcc.exportedRuntimeMethods)
speedtest1.eflags.common += -sALLOW_TABLE_GROWTH
$(eval $(call C-PP.FILTER,tester1.c-pp.html,tester1.html))
$(eval $(call C-PP.FILTER,tester1.c-pp.html,tester1-esm.html,$(c-pp.D.esm)))
tester1: tester1.js tester1.mjs tester1.html tester1-esm.html
-all: tester1
+all quick: tester1
########################################################################
# Convenience rules to rebuild with various -Ox levels. Much
o1: clean
$(MAKE) -e "emcc_opt=-O1 $(o-xtra)"
o2: clean
- $(MAKE) -e "emcc_opt=-O2 $(o-xtra)"
+ $(MAKE) -j2 -e "emcc_opt=-O2 $(o-xtra)"
+qo2: clean
+ $(MAKE) -j2 -e "emcc_opt=-O2 $(o-xtra)" quick
o3: clean
$(MAKE) -e "emcc_opt=-O3 $(o-xtra)"
os: clean
@echo "WARNING: -Os can result in a build with mysteriously missing pieces!"
$(MAKE) -e "emcc_opt=-Os $(o-xtra)"
oz: clean
- $(MAKE) -e "emcc_opt=-Oz $(o-xtra)"
+ $(MAKE) -j2 -e "emcc_opt=-Oz $(o-xtra)"
+qoz: clean
+ $(MAKE) -j2 -e "emcc_opt=-Oz $(o-xtra)" quick
########################################################################
# Sub-makes...
# date. Our general policy is that we want the smallest binaries for
# dist zip files, so use the oz build unless there is a compelling
# reason not to.
-dist.build ?= oz
+dist.build ?= qoz
dist-dir.top := $(dist-name)
dist-dir.jswasm := $(dist-dir.top)/$(notdir $(dir.dout))
# $(dist.build) will depend on clean, having any deps on
# $(dist-archive) which themselves may be cleaned up by the clean
# target will lead to grief in parallel builds (-j #). Thus
-# $(dist-target)'s deps must be trimmed to non-generated files or
+# dist's deps must be trimmed to non-generated files or
# files which are _not_ cleaned up by the clean target.
#
# Note that we require $(bin.version-info) in order to figure out the
-C Ensure\sthat\sthe\stypes\sand\scollation\ssequences\sof\sa\sview\sare\staken\sfrom\sthe\sleftmost\scomponent\sof\scompound\sSELECTs,\seven\swhen\scolumn\snames\sare\sexplicitly\sprovided\sfor\sthe\sview.
-D 2022-12-10T19:22:39.419
+C Minor\sbuild\stweaks\sin\sext/wasm\sto\screate\sa\sfaster-running\sbuild\sfor\sthe\scommon\sdev-mode\scases.\sNo\scode\schanges.
+D 2022-12-11T07:53:03.812
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F ext/userauth/user-auth.txt e6641021a9210364665fe625d067617d03f27b04
F ext/userauth/userauth.c 7f00cded7dcaa5d47f54539b290a43d2e59f4b1eb5f447545fa865f002fc80cb
F ext/wasm/EXPORTED_FUNCTIONS.fiddle.in 27450c8b8c70875a260aca55435ec927068b34cef801a96205adb81bdcefc65c
-F ext/wasm/GNUmakefile 3af95180c82fce779a5321be31081d24ca1d0efc4676f99781bdb69dd84b9330
+F ext/wasm/GNUmakefile 89feb939ec9c3691ab5749d0dab06c7ef2a370191fe1d9e79aad494c3f863b65
F ext/wasm/README-dist.txt 2d670b426fc7c613b90a7d2f2b05b433088fe65181abead970980f0a4a75ea20
F ext/wasm/README.md ef39861aa21632fdbca0bdd469f78f0096f6449a720f3f39642594af503030e9
F ext/wasm/api/EXPORTED_FUNCTIONS.sqlite3-api 371830de7e6c5f93c1f44044db2a1ef55998406a7fe6dc25875a97f85cb30032
F ext/wasm/demo-worker1-promiser.js b85a2bb1b918db4f09dfa24419241cb3edad7791389425c2505092e9b715017d
F ext/wasm/demo-worker1.html 2c178c1890a2beb5a5fecb1453e796d067a4b8d3d2a04d65ca2eb1ab2c68ef5d
F ext/wasm/demo-worker1.js a619adffc98b75b66c633b00f747b856449a134a9a0357909287d80a182d70fa
-F ext/wasm/dist.make 701694188a78c9a24bf44cdf529063f4b3a0e892adc1d20ed1619252738943f1
+F ext/wasm/dist.make 5523b02e824db5ab8176e3eedc2e709fe1204d8f4d6e52e8321cdf6830114b72
F ext/wasm/fiddle.make 2812c44c9bafb5be9c8767963d1b9f374d77af7795fcaa06483c03e7059dea74
F ext/wasm/fiddle/emscripten.css 3d253a6fdb8983a2ac983855bfbdd4b6fa1ff267c28d69513dd6ef1f289ada3f
F ext/wasm/fiddle/fiddle-worker.js b4a0c8ab6c0983218543ca771c45f6075449f63a1dcf290ae5a681b2cba8800d
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 35a88747eb0bb9eebb60550f91d0fe0c7a5ae11ec0a1315ae056fd79e9436a3f b0e49aa81a09c183b8baf8346b8a9b593c2b13073958617b6594500958d5bd46
-R c17c805b4adcedf38662e47bfab8f046
-T +closed b0e49aa81a09c183b8baf8346b8a9b593c2b13073958617b6594500958d5bd46
-U dan
-Z 08f6fd63b93f469898dafa1c876a99fb
+P 6f0bf892695acaa2f6fd1fccc767340caf5edfdb8b0816bda33d52cc21d5da45
+R bc6d65d79471a3c90e90a2054918cffd
+U stephan
+Z ebfde1d6b19cd2e44b8ac10487eb0273
# Remove this line to create a well-formed Fossil manifest.