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