-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·45 lines (37 loc) · 1.16 KB
/
Copy pathbuild.sh
File metadata and controls
executable file
·45 lines (37 loc) · 1.16 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash
set -e
set -f
# set working directory to script location
cd "${0%/*}"
rubberband_version="3.3.0"
if [ ! -f lib/rubberband-${rubberband_version}.tar.bz2 ]; then
[ -e lib ] && rm -r lib
mkdir -p lib
wget "https://breakfastquay.com/files/releases/rubberband-${rubberband_version}.tar.bz2" -P lib
tar xmf "lib/rubberband-${rubberband_version}.tar.bz2" -C lib
mv -v "lib/rubberband-${rubberband_version}" lib/rubberband
fi
# -fno-exceptions
# -ffast-math -ftree-vectorize
export CFLAGS="-Ilib/rubberband/rubberband -O3 -Oz -flto -fno-rtti"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="${CFLAGS}"
emcc ${CXXFLAGS} -c lib/rubberband/single/RubberBandSingle.cpp -o lib/librubberband.o
emcc ${CXXFLAGS} -c src/rubberband.c -o lib/rubberband.o
export EMCC_FLAGS="${LDFLAGS} \
-s ENVIRONMENT='web,worker,node' \
-s ALLOW_MEMORY_GROWTH=1 \
-s MODULARIZE=1 \
-s STANDALONE_WASM=1 \
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
-s AUTO_JS_LIBRARIES=0 \
-s FILESYSTEM=0 \
-s ASSERTIONS=0 \
--no-entry \
--emit-symbol-map"
emcc ${EMCC_FLAGS} \
lib/librubberband.o \
lib/rubberband.o \
-o lib/rubberband.js
mkdir -p dist
cp lib/rubberband.wasm dist/rubberband.wasm