Avoid some bloat in wasm build
This commit is contained in:
parent
7d1aa10f73
commit
a6a50a6320
7 changed files with 165 additions and 20 deletions
|
|
@ -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(...)=' \
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
19
script/generate-wasm-exports-list
Executable file
19
script/generate-wasm-exports-list
Executable 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue