Have generate-emscripten-symbols.sh automatically update the js/wasm build script

This commit is contained in:
Frank Denis 2017-08-25 15:11:37 +02:00
parent aa20d2e86e
commit cd721cfc1f

View File

@ -1,43 +1,58 @@
#! /bin/sh #! /bin/sh
if [ "x$1" = "x--sumo" ]; then set -e
SUMO=yes
fi
{ symbols() {
while read symbol standard sumo; do {
found="$standard" SUMO="$1"
if [ "x$SUMO" != "x" ]; then while read symbol standard sumo; do
found="$sumo" found="$standard"
fi if [ "x$SUMO" != "sumo" ]; then
if [ "$found" = "1" ]; then found="$sumo"
eval "defined_${symbol}=yes"
else
eval "defined_${symbol}=no"
fi
done < emscripten-symbols.def
nm /usr/local/lib/libsodium.18.dylib | \
fgrep ' T _' | \
cut -d' ' -f3 | {
while read symbol; do
eval "found=\$defined_${symbol}"
if [ "$found" = "yes" ]; then
echo "$symbol"
elif [ "$found" != "no" ]; then
echo >&2
echo "*** [$symbol] was not expected ***" >&2
echo >&2
exit 1
fi fi
done if [ "$found" = "1" ]; then
} eval "defined_${symbol}=yes"
} | \ else
sort | \ eval "defined_${symbol}=no"
{ fi
out='' done < emscripten-symbols.def
while read symbol ; do
out="${out},\"${symbol}\"" nm /usr/local/lib/libsodium.18.dylib | \
done fgrep ' T _' | \
echo $out cut -d' ' -f3 | {
while read symbol; do
eval "found=\$defined_${symbol}"
if [ "$found" = "yes" ]; then
echo "$symbol"
elif [ "$found" != "no" ]; then
echo >&2
echo "*** [$symbol] was not expected ***" >&2
echo >&2
exit 1
fi
done
}
} | \
sort | \
{
while read symbol ; do
if [ ! -z "$out" ]; then
out="${out},"
fi
out="${out}\"${symbol}\""
done
echo "[${out}]"
}
} }
out=$(symbols standard)
sed s/EXPORTED_FUNCTIONS_STANDARD=\'.*\'/EXPORTED_FUNCTIONS_STANDARD=\'${out}\'/ < emscripten.sh > emscripten.sh.tmp && \
mv -f emscripten.sh.tmp emscripten.sh
sed s/EXPORTED_FUNCTIONS_STANDARD=\'.*\'/EXPORTED_FUNCTIONS_STANDARD=\'${out}\'/ < emscripten-wasm.sh > emscripten-wasm.sh.tmp && \
mv -f emscripten-wasm.sh.tmp emscripten-wasm.sh
out=$(symbols sumo)
sed s/EXPORTED_FUNCTIONS_SUMO=\'.*\'/EXPORTED_FUNCTIONS_SUMO=\'${out}\'/ < emscripten.sh > emscripten.sh.tmp && \
mv -f emscripten.sh.tmp emscripten.sh
sed s/EXPORTED_FUNCTIONS_SUMO=\'.*\'/EXPORTED_FUNCTIONS_SUMO=\'${out}\'/ < emscripten-wasm.sh > emscripten-wasm.sh.tmp && \
mv -f emscripten-wasm.sh.tmp emscripten-wasm.sh