Text file misc/wasm/go_wasip1_wasm_exec

     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  
     6  case "$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  		# Match the major version in "wasmtime-cli 14.0.0". For versions before 14
    18  		# we need to use the old CLI. This requires Bash v3.0 and above.
    19  		# TODO(johanbrandhorst): Remove this condition once 1.22 is released.
    20  		# From 1.23 onwards we'll only support the new wasmtime CLI.
    21  		if [[ "$(wasmtime --version)" =~ wasmtime-cli[[:space:]]([0-9]+)\.[0-9]+\.[0-9]+ && "${BASH_REMATCH[1]}" -lt 14 ]]; then
    22  			exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" --max-wasm-stack 1048576 ${GOWASIRUNTIMEARGS:-} "$1" -- "${@:2}"
    23  		else
    24  			exec wasmtime run --dir=/ --env PWD="$PWD" --env PATH="$PATH" -W max-wasm-stack=1048576 ${GOWASIRUNTIMEARGS:-} "$1" "${@:2}"
    25  		fi
    26  		;;
    27  	*)
    28  		echo "Unknown Go WASI runtime specified: $GOWASIRUNTIME"
    29  		exit 1
    30  		;;
    31  esac
    32  

View as plain text