#!/bin/sh set -e cd opus-1.5.2 s_EXPORTED_FUNCTIONS="-s EXPORTED_FUNCTIONS=$(printf '_%s,' \ opus_decoder_create \ opus_strerror \ opus_decode_float \ malloc )_free" #shared_flags="-O1 -fno-unroll-loops -fno-inline -flto -mnontrapping-fptoint" shared_flags="-Oz -flto -fno-inline -mnontrapping-fptoint" compile_flags="-DNDEBUG -DNO_STDIO $shared_flags" link_flags="$shared_flags -s MALLOC=emmalloc -s ASSERTIONS=0 -s INITIAL_MEMORY=196608 -s TOTAL_STACK=48736 -s STANDALONE_WASM=1 -s PURE_WASI=1 -s STACK_OVERFLOW_CHECK=0 -s WASM_BIGINT=1 -s ABORTING_MALLOC=0 -s MEMORY_GROWTH_GEOMETRIC_STEP=0 -s ALLOW_MEMORY_GROWTH=1" emconfigure ./configure STRIP='emstrip' CFLAGS="$compile_flags" LDFLAGS="$link_flags" --host=wasm32 --disable-dependency-tracking --disable-shared emmake make #emcc --no-entry $s_EXPORTED_FUNCTIONS $link_flags libmp3lame/.libs/libmp3lame.a #em++ --no-entry $s_EXPORTED_FUNCTIONS $link_flags $compile_flags -o pocketfft.wasm impl.cc #mkdir -p ../../src/main/resources/opus/ #cp a.out.wasm ../../src/main/resources/opus.wasm #cp LICENSE COPYING ../../src/main/resources/opus/ exit 0