22 lines
769 B
Bash
Executable File
22 lines
769 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
emsdk_dir="${EMSDK_ROOT:-${repo_root}/.emsdk}"
|
|
emsdk_url="${EMSDK_URL:-https://gh-proxy.com/https://github.com/emscripten-core/emsdk/archive/refs/heads/main.tar.gz}"
|
|
|
|
if [[ ! -x "${emsdk_dir}/emsdk" ]]; then
|
|
archive="$(mktemp --suffix=.tar.gz)"
|
|
trap 'rm -f "${archive}"' EXIT
|
|
curl -L --fail --retry 3 --max-time 180 "${emsdk_url}" -o "${archive}"
|
|
mkdir -p "${emsdk_dir}"
|
|
tar -xzf "${archive}" --strip-components=1 -C "${emsdk_dir}"
|
|
fi
|
|
|
|
cd "${emsdk_dir}"
|
|
./emsdk install 3.1.69
|
|
./emsdk activate 3.1.69
|
|
source ./emsdk_env.sh
|
|
emcc --version | head -3
|
|
printf 'emscripten-ready root=%s version=%s\n' "${emsdk_dir}" "$(emcc --version | awk 'NR==1 {print $NF}')"
|