1
mirror of https://github.com/jedisct1/libsodium.git synced 2024-12-25 13:05:08 -07:00
libsodium/dist-build/generate-emscripten-symbols.sh

58 lines
1.3 KiB
Bash
Raw Normal View History

#! /bin/sh
set -e
symbols() {
{
SUMO="$1"
while read symbol standard sumo; do
found="$standard"
2017-08-25 06:18:55 -07:00
if [ "x$SUMO" = "xsumo" ]; then
found="$sumo"
fi
if [ "$found" = "1" ]; then
eval "defined_${symbol}=yes"
else
eval "defined_${symbol}=no"
fi
2020-07-04 06:32:13 -07:00
done <emscripten-symbols.def
2020-07-04 06:32:13 -07:00
/usr/bin/nm /usr/local/lib/libsodium.27.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
done
}
2020-07-04 06:32:13 -07:00
} |
sort |
{
out='"_malloc","_free"'
2020-07-04 06:32:13 -07:00
while read symbol; do
if [ ! -z "$out" ]; then
out="${out},"
fi
out="${out}\"${symbol}\""
done
echo "[${out}]"
}
}
out=$(symbols standard)
2020-07-04 06:32:13 -07:00
sed s/EXPORTED_FUNCTIONS_STANDARD=\'.*\'/EXPORTED_FUNCTIONS_STANDARD=\'${out}\'/ <emscripten.sh >emscripten.sh.tmp &&
mv -f emscripten.sh.tmp emscripten.sh
out=$(symbols sumo)
2020-07-04 06:32:13 -07:00
sed s/EXPORTED_FUNCTIONS_SUMO=\'.*\'/EXPORTED_FUNCTIONS_SUMO=\'${out}\'/ <emscripten.sh >emscripten.sh.tmp &&
mv -f emscripten.sh.tmp emscripten.sh
2017-08-25 11:37:17 -07:00
chmod +x emscripten.sh