Avoid some bloat in wasm build

This commit is contained in:
Max Brunsfeld 2019-05-01 11:29:35 -07:00
parent 7d1aa10f73
commit a6a50a6320
7 changed files with 165 additions and 20 deletions

View file

@ -6,9 +6,11 @@ args="-Os"
minify=1
if [[ "$1" == "--debug" ]]; then
minify=0
args="-s ASSERTIONS=1 -s SAFE_HEAP=1 -O0"
args="-s ASSERTIONS=1 -s SAFE_HEAP=1 -Os"
fi
exports=$(cat lib/web/exports.json)
mkdir -p target/scratch target/release
docker run \
@ -22,8 +24,9 @@ docker run \
-s WASM=1 \
-s TOTAL_MEMORY=33554432 \
-s ALLOW_MEMORY_GROWTH \
-s MAIN_MODULE=1 \
-s EXPORT_ALL=1 \
-s MAIN_MODULE=2 \
-s NO_FILESYSTEM=1 \
-s "EXPORTED_FUNCTIONS=${exports}" \
$args \
-std=c99 \
-D 'fprintf(...)=' \

View file

@ -7,17 +7,13 @@ cargo build --release
root_dir=$PWD
tree_sitter=${root_dir}/target/release/tree-sitter
grammars_dir=${root_dir}/test/fixtures/grammars
grammar_names=(
c
javascript
python
)
grammar_names=$(ls $grammars_dir)
if [[ "$#" > 0 ]]; then
grammar_names=($1)
fi
for grammar_name in ${grammar_names[@]}; do
for grammar_name in $grammar_names; do
echo "Compiling ${grammar_name} parser to wasm"
$tree_sitter build-wasm ${grammars_dir}/${grammar_name}
done

View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
root_dir=$PWD
grammars_dir=${root_dir}/test/fixtures/grammars
grammar_names=$(ls $grammars_dir | tr '-' '_')
symbol_file=$(mktemp)
for grammar_name in $grammar_names; do
wasm-objdump \
--details target/release/tree-sitter-${grammar_name}.wasm \
--section Import \
| egrep -o '<(\w+)>' \
| tr -d '<>' \
>> $symbol_file
done
sort -u -o $symbol_file $symbol_file
cat $symbol_file