summary refs log tree commit diff stats
path: root/opus/build_script.sh
blob: cb2e0ef5767a973ed8fbc7f1d58d28cd72deb468 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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