sed -i "s/TransactionOutputs/C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ/g" ./lightning.h
fi
+if [ "$LDK_GARBAGECOLLECTED_GIT_OVERRIDE" = "" ]; then
+ export LDK_GARBAGECOLLECTED_GIT_OVERRIDE=$(git describe --tag --dirty)
+fi
+if [ "${LDK_GARBAGECOLLECTED_GIT_OVERRIDE:0:1}" != "v" ]; then
+ echo "Version tag should start with a v" > /dev/stderr
+ exit 1
+fi
+
if [ "$2" != "wasm" ]; then
TARGET_STRING="$LDK_TARGET"
if [ "$TARGET_STRING" = "" ]; then
LDK_TARGET_CPU="sandybridge"
fi
- if [ "$LDK_GARBAGECOLLECTED_GIT_OVERRIDE" = "" ]; then
- export LDK_GARBAGECOLLECTED_GIT_OVERRIDE=$(git describe --tag --dirty)
- fi
- if [ "${LDK_GARBAGECOLLECTED_GIT_OVERRIDE:0:1}" != "v" ]; then
- echo "Version tag should start with a v" > /dev/stderr
- exit 1
- fi
-
if [ "$(rustc --version --verbose | grep "host:")" = "host: x86_64-apple-darwin" ]; then
# OSX sed is for some reason not compatible with GNU sed
sed -i '' "s/^ <version>.*<\/version>/ <version>${LDK_GARBAGECOLLECTED_GIT_OVERRIDE:1:100}<\/version>/g" pom.xml
cat ts/bindings.c.body >> ts/bindings.c
echo "Building TS bindings..."
- COMPILE="$COMMON_COMPILE -flto -Wl,--no-entry -Wl,--export-dynamic -Wl,-allow-undefined -nostdlib --target=wasm32-wasi"
+ COMPILE="$COMMON_COMPILE -flto -Wl,--no-entry -nostdlib --target=wasm32-wasi -Wl,-z -Wl,stack-size=$((8*1024*1024)) -Wl,--initial-memory=$((16*1024*1024)) -Wl,--max-memory=$((1024*1024*1024)) -Wl,--global-base=4096"
# We only need malloc and assert/abort, but for now just use WASI for those:
#EXTRA_LINK=/usr/lib/wasm32-wasi/libc.a
EXTRA_LINK=
- [ "$3" != "false" ] && COMPILE="$COMPILE -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,reallocarray -Wl,-wrap,malloc -Wl,-wrap,free"
+ [ "$3" != "false" ] && COMPILE="$COMPILE -Wl,-wrap,calloc -Wl,-wrap,realloc -Wl,-wrap,reallocarray -Wl,-wrap,malloc -Wl,-wrap,aligned_alloc -Wl,-wrap,free"
if [ "$3" = "true" ]; then
WASM_FILE=liblightningjs_debug.wasm
- $COMPILE -o liblightningjs_debug.wasm -g -I"$1"/lightning-c-bindings/include/ ts/bindings.c "$1"/lightning-c-bindings/target/wasm32-wasi/debug/libldk.a $EXTRA_LINK
+ $COMPILE -o liblightningjs_debug.wasm -g -O1 -I"$1"/lightning-c-bindings/include/ ts/bindings.c "$1"/lightning-c-bindings/target/wasm32-wasi/debug/libldk.a $EXTRA_LINK
else
WASM_FILE=liblightningjs_release.wasm
- $COMPILE -o liblightningjs_release.wasm -s -Os -I"$1"/lightning-c-bindings/include/ ts/bindings.c "$1"/lightning-c-bindings/target/wasm32-wasi/release/libldk.a $EXTRA_LINK
+ $COMPILE -o liblightningjs_release.wasm -s -Oz -I"$1"/lightning-c-bindings/include/ ts/bindings.c "$1"/lightning-c-bindings/target/wasm32-wasi/release/libldk.a $EXTRA_LINK
fi
if [ -x "$(which tsc)" ]; then
tsc
else
tsc --types node --typeRoots .
- cd ..
+ cp ../$WASM_FILE liblightningjs.wasm
+ echo Ready to publish!
if [ -x "$(which node)" ]; then
NODE_V="$(node --version)"
if [ "${NODE_V:1:2}" -gt 14 ]; then
- rm -f liblightningjs.wasm
- ln -s $WASM_FILE liblightningjs.wasm
- node ts/test/node.mjs
+ node test/node.mjs
fi
fi
fi