#!/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}')"