1#!/usr/bin/env bash
2# Copyright 2023 The Go Authors. All rights reserved.
3# Use of this source code is governed by a BSD-style
4# license that can be found in the LICENSE file.
5
6case "$GOWASIRUNTIME" in
7	"wasmedge")
8		exec wasmedge --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
9		;;
10	"wasmer")
11		exec wasmer run --dir=/ --env PWD="$PWD" --env PATH="$PATH" ${GOWASIRUNTIMEARGS:-} "$1" -- "${@:2}"
12		;;
13	"wazero")
14		exec wazero run -mount /:/ -env-inherit -cachedir "${TMPDIR:-/tmp}"/wazero ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
15		;;
16	"wasmtime" | "")
17		exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" -W max-wasm-stack=1048576 ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
18		;;
19	*)
20		echo "Unknown Go WASI runtime specified: $GOWASIRUNTIME"
21		exit 1
22		;;
23esac
24