From: stephan Date: Sun, 11 Dec 2022 07:53:03 +0000 (+0000) Subject: Minor build tweaks in ext/wasm to create a faster-running build for the common dev... X-Git-Tag: version-3.41.0~268 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56bc31588ec687874f5053b6b7dfca0be3ed8da0;p=thirdparty%2Fsqlite.git Minor build tweaks in ext/wasm to create a faster-running build for the common dev-mode cases. No code changes. FossilOrigin-Name: 6a61b14a6cf8279a5b8b77f934c2b97965f5e3fe4cddb03e78c2c0a840dbe6f6 --- diff --git a/ext/wasm/GNUmakefile b/ext/wasm/GNUmakefile index 6b8e6889b3..b50b25c89b 100644 --- a/ext/wasm/GNUmakefile +++ b/ext/wasm/GNUmakefile @@ -15,9 +15,17 @@ # 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 # @@ -307,7 +315,8 @@ $$(dir.dout)/$$(notdir $(1)): $(1) $$(MAKEFILE) 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 @@ -488,7 +497,7 @@ emcc.jsflags += -sINITIAL_MEMORY=$(emcc.INITIAL_MEMORY.$(emcc.INITIAL_MEMORY)) ######################################################################## 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. @@ -627,8 +636,8 @@ $(sqlite3.mjs): $(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 ######################################################################## @@ -673,7 +682,7 @@ speedtest1.eflags.common += -sSTRICT_JS 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 @@ -748,7 +757,7 @@ $(eval $(call C-PP.FILTER,tester1.c-pp.js,tester1.mjs,$(c-pp.D.esm))) $(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 @@ -767,14 +776,18 @@ o0: clean 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... diff --git a/ext/wasm/dist.make b/ext/wasm/dist.make index e4dbad7c99..8b1a2d4f1c 100644 --- a/ext/wasm/dist.make +++ b/ext/wasm/dist.make @@ -38,7 +38,7 @@ dist-name := $(dist-name-prefix)-TEMP # 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)) @@ -63,7 +63,7 @@ dist.common.extras := \ # $(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 diff --git a/manifest b/manifest index 9f82ecee40..1db8e17e4b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -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 @@ -491,7 +491,7 @@ F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3 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 @@ -531,7 +531,7 @@ F ext/wasm/demo-worker1-promiser.html 1de7c248c7c2cfd4a5783d2aa154bce62d74c6de98 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 @@ -2067,9 +2067,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 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. diff --git a/manifest.uuid b/manifest.uuid index 04d046ed78..4eb609d818 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -6f0bf892695acaa2f6fd1fccc767340caf5edfdb8b0816bda33d52cc21d5da45 \ No newline at end of file +6a61b14a6cf8279a5b8b77f934c2b97965f5e3fe4cddb03e78c2c0a840dbe6f6 \ No newline at end of file