| | #!/usr/bin/env bash |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | function die(){ |
| | local rc=$1 |
| | shift |
| | echo "Error: $@" 1>&2 |
| | exit $rc |
| | } |
| |
|
| | 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 |
| | done |
| | [[ x = x$make ]] && die 127 "Cannot find make" |
| |
|
| |
|
| | [[ x = x${buildName} ]] && buildName=sqlite-wasm |
| |
|
| | buildName=${buildName}${snapshotSuffix} |
| |
|
| | echo "Creating the SQLite wasm dist bundle..." |
| |
|
| | |
| | |
| | |
| | |
| | tgtFiles=( |
| | 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 [[ 1 = $b64 ]]; then |
| | tgtFiles+=( |
| | tester1-64bit.html |
| | tester1-esm-64bit.html |
| | tester1-worker-64bit.html |
| | tester1-64bit.js |
| | tester1-64bit.mjs |
| | ) |
| | fi |
| |
|
| | [[ 1 = $clean ]] && $make clean |
| | $make $makeFlag \ |
| | t-version-info t-stripccomments \ |
| | ${tgtFiles[@]} \ |
| | "emcc_opt=${optFlag}" || die $? |
| |
|
| | dirTmp=d.dist |
| | rm -fr $dirTmp |
| | mkdir -p $dirTmp/jswasm || die $? |
| | mkdir -p $dirTmp/common || die $? |
| |
|
| | |
| | fTop=( |
| | demo-123.html |
| | demo-123-worker.html |
| | demo-123.js |
| |
|
| | demo-worker1.html |
| | demo-worker1.js |
| |
|
| | demo-jsstorage.html |
| | demo-jsstorage.js |
| |
|
| | module-symbols.html |
| | ) |
| |
|
| | |
| | |
| | |
| | |
| | fJ1=( |
| | sqlite3-opfs-async-proxy.js |
| | sqlite3-worker1.js |
| | sqlite3-worker1.mjs |
| | sqlite3-worker1-bundler-friendly.mjs |
| | sqlite3-worker1-promiser.js |
| | sqlite3-worker1-promiser.mjs |
| | sqlite3-worker1-promiser-bundler-friendly.mjs |
| | ) |
| | fJ2=( |
| | sqlite3.js |
| | sqlite3.mjs |
| | ) |
| |
|
| | |
| | fW=(sqlite3.wasm) |
| | if [[ 1 = $b64 ]]; then |
| | fW+=(sqlite3-64bit.wasm) |
| | fi |
| |
|
| | function fcp() { |
| | cp -p $@ || die $? |
| | chmod +w ${@: -1} |
| | } |
| |
|
| | function scc(){ |
| | ${dirTop}/tool/stripccomments $@ || die $? |
| | } |
| |
|
| | jw=jswasm |
| | fcp ${tgtFiles[@]} $dirTmp/. |
| | fcp README-dist.txt $dirTmp/README.txt |
| | fcp index-dist.html $dirTmp/index.html |
| | fcp common/*.css common/SqliteTestUtil.js $dirTmp/common/. |
| |
|
| | 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 |
| |
|
| | for i in ${fJ2[@]}; do |
| | scc -k -k < $jw/$i > $dirTmp/$jw/$i || die $? |
| | done |
| |
|
| | |
| | |
| | |
| | svi=./version-info |
| | vnum=$($svi --download-version) |
| | [ "" = "$vnum" ] && die "version number is empty!" |
| | vdir=${buildName}-${vnum} |
| | fzip=${vdir}.zip |
| | rm -fr ${vdir} ${fzip} |
| | mv $dirTmp $vdir || 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 |
| |
|