dist:
./mkdist.sh $(dist-name-prefix)
snapshot:
- ./mkdist.sh $(dist-name-prefix)-snapshot-$(shell /usr/bin/date +%Y%m%d)
+ ./mkdist.sh $(dist-name-prefix) --snapshot
endif
# ^^^ making dist/snapshot
CLEAN_FILES += $(wildcard sqlite-wasm-*.zip)
wrapper is significantly easier to use, however.</li>
<li><a href='demo-worker1-promiser.html'>demo-worker1-promiser</a>:
a demo of the Promise-based wrapper of the Worker1 API.</li>
- <!--li><a href='demo-worker1-promiser-esm.html'>demo-worker1-promiser-esm</a>:
- same as the previous demo except loads the promiser from an ESM module.</li-->
+ <li><a href='module-symbols.html'>module-symbols</a> gives
+ a high-level overview of the symbols exposed by the JS
+ module.</li>
</ul>
</li>
</ul>
#!/usr/bin/env bash
+###
#
-# Creates the zip bundle for the sqlite3 wasm builds.
-# $1 is a build name, defaulting to sqlite-wasm.
+# Builds the SQLite JS/WASM distribution zip file.
+#
+# Usage: $0 build-name ?flags?
+#
+# build-name is the dir/archive name prefix for the
+# build and defaults to sqlite-wasm.
+#
+# -?|--help = Show this text
+#
+# -0 = Use -O0 instead of ${optFlag}
+#
+# -1 = Use make -j1 instead of ${makeFlag}
+#
+# -64 = Include 64-bit builds
+#
+# --noclean = do not run 'make clean' first
+#
+# --snapshot = gives the archive name a distinctive suffix
+#
+###
function die(){
local rc=$1
exit $rc
}
-buildName=${1-sqlite-wasm}
+dirTop=../..
+buildName=
+b64=0
+optFlag=-Oz
+clean=1
+makeFlag=-j4
+snapshotSuffix=
+for arg in $@; do
+ case $arg in
+
+ -64) b64=1
+ ;;
+
+ -0) optFlag=-O0
+ ;;
+
+ -1) makeFlag=
+ ;;
+
+ --noclean) clean=0
+ ;;
+
+ --snapshot)
+ snapshotSuffix=$(date +%Y%m%d)
+ ;;
+
+ -?|--help)
+ sed -n -e '2,/^###/p' $0
+ exit
+ ;;
+
+ *) if [[ x != x${buildName} ]]; then
+ die 1 "Unhandled argument: $arg"
+ fi
+ buildName=$arg
+ ;;
+ esac
+done
make=
for i in gmake make; do
make=$(which $i 2>/dev/null)
- [[ x != x$make ]] && break
+ [[ x != x${make} ]] && break
done
[[ x = x$make ]] && die 127 "Cannot find make"
-dirTop=../..
+
+[[ x = x${buildName} ]] && buildName=sqlite-wasm
+
+buildName=${buildName}${snapshotSuffix}
echo "Creating the SQLite wasm dist bundle..."
# neaded for the dist bundle.
#
tgtFiles=(
- tester1.html
- tester1-worker.html
- tester1-esm.html
- tester1.js tester1.mjs
demo-worker1-promiser.html
demo-worker1-promiser.js
demo-worker1-promiser-esm.html
demo-worker1-promiser.mjs
+
+ tester1.html
+ tester1-esm.html
+ tester1-worker.html
+ tester1.js
+ tester1.mjs
)
-if false; then
- optFlag=-O0
-else
- optFlag=-Oz
- $make clean
+if [[ 1 = $b64 ]]; then
+ tgtFiles+=(
+ tester1-64bit.html
+ tester1-esm-64bit.html
+ tester1-worker-64bit.html
+ tester1-64bit.js
+ tester1-64bit.mjs
+ )
fi
-$make -j4 \
+
+[[ 1 = $clean ]] && $make clean
+$make $makeFlag \
t-version-info t-stripccomments \
${tgtFiles[@]} \
"emcc_opt=${optFlag}" || die $?
mkdir -p $dirTmp/jswasm || die $?
mkdir -p $dirTmp/common || die $?
-# Files for the top-most dir:
+# Static files for the top-most dir:
fTop=(
+ demo-123.html
+ demo-123-worker.html
+ demo-123.js
+
demo-worker1.html
demo-worker1.js
+
demo-jsstorage.html
demo-jsstorage.js
- demo-123.html
- demo-123-worker.html demo-123.js
+
+ module-symbols.html
)
# Files for the jswasm subdir sans jswasm prefix:
sqlite3.mjs
)
+# fW = list of wasm files to copy from jswasm/.
+fW=(sqlite3.wasm)
+if [[ 1 = $b64 ]]; then
+ fW+=(sqlite3-64bit.wasm)
+fi
+
function fcp() {
cp -p $@ || die $?
+ chmod +w ${@: -1}
}
function scc(){
fcp README-dist.txt $dirTmp/README.txt
fcp index-dist.html $dirTmp/index.html
fcp common/*.css common/SqliteTestUtil.js $dirTmp/common/.
-fcp $jw/sqlite3.wasm $dirTmp/$jw/.
for i in ${fTop[@]}; do
fcp $i $dirTmp/.
done
+for i in ${fW[@]}; do
+ fcp $jw/$i $dirTmp/$jw/.
+done
+
for i in ${fJ1[@]}; do
scc -k < $jw/$i > $dirTmp/$jw/$i || die $?
done
#
# Done copying files. Now zip it up...
#
-
svi=${dirTop}/version-info
vnum=$($svi --download-version)
vdir=${buildName}-${vnum}
fzip=${vdir}.zip
rm -fr ${vdir} ${fzip}
mv $dirTmp $vdir || die $?
-zip -rq $fzip $(find $vdir -type f | sort) || die $?
+zip -rq9 $fzip $(find $vdir -type f | sort) || die $?
ls -la $fzip
unzip -lv $fzip || die $?
+cat <<EOF
+**
+** Unzipped files are in $vdir
+**
+EOF
-C Replace\sext/wasm/dist.make\swith\smkdist.sh\sand\sget\sdist\sworking\swith\sthe\snew\sbuild.\sFix\sthe\spreprocessing\sflags\sfor\stester1-esm.html.
-D 2025-09-25T17:29:12.649
+C wasm\sdist:\sadd\s--snapshot\sflag,\sadd\s-64\sflag\sto\sinclude\s64-bit\sbuilds,\sand\sadd\smodule-symbols.html\sto\sthe\sdist.
+D 2025-09-25T18:53:28.163
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 e478287749fcd55285072c4161cc6b9d6f448f14f9d84501de1a093734c9fd97
+F ext/wasm/GNUmakefile f5c8895122666957bcf2b83a7bcef3e06e16d60b710282397f29bfa013e9c4bc
F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
F ext/wasm/README.md 66ace67ae98a45e4116f2ca5425b716887bcee4d64febee804ff6398e1ae9ec7
F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
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-dist.html 56132399702b15d70c474c3f1952541e25cb0922942868f70daf188f024b3730
+F ext/wasm/index-dist.html db23748044e286773f2768eec287669501703b5d5f72755e8db73607dc54d290
F ext/wasm/index.html 1b329fb63e057c02a17ce178308d6b06aac62d92af7dd6d821fb0e183e0f1557
F ext/wasm/jaccwabyt/jaccwabyt.js bbac67bc7a79dca34afe6215fd16b27768d84e22273507206f888c117e2ede7d
F ext/wasm/jaccwabyt/jaccwabyt.md 167fc0b624c9bc2c477846e336de9403842d81b1a24fc4d3b24317cb9eba734f
-F ext/wasm/mkdist.sh 94e12f6cfb6131b90a994e7eab5a4b734e8f277fe38cffc3b37e775eb8fe8611 x
+F ext/wasm/mkdist.sh 29f8a37a7aba41fa5df8e89b1fab02b83b35c43473c5cf808584872e022514b8 x
F ext/wasm/mkwasmbuilds.c 3f27681fd3b32a78560feb3bb54f0f46a68f75024f65d9c5d4247f6bd08a04ad
F ext/wasm/module-symbols.html dc476b403369b26a1a23773e13b80f41b9a49f0825e81435fe3600a7cfbbe337
F ext/wasm/scratchpad-wasmfs.html a3d7388f3c4b263676b58b526846e9d02dfcb4014ff29d3a5040935286af5b96
F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 2f4be98614b49def2c2951887796c736269ef3bb7ba5b045cae5f748ae165a83
-R 2f32df5d7d259ad6860333afe5e70fec
+P ab6eb4d3b723107da488770b1849b9f1d1c491348f1eaa544e0e07356b8fac7d
+R 5604f99b6885eee7b3387abf567432cd
U stephan
-Z 6108442ce190e421e8fe73707ba2c0fe
+Z 54eb9cf8d86f8180d0b259e57237e3ca
# Remove this line to create a well-formed Fossil manifest.
-ab6eb4d3b723107da488770b1849b9f1d1c491348f1eaa544e0e07356b8fac7d
+e9a6391b377b6964620285192262a4dc9fe1712799f7aa8a8b37c5f718544ed2