allow config LLGO_WASM_RUNTIME with args
This commit is contained in:
@@ -553,17 +553,23 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, conf *Co
|
|||||||
args := make([]string, 0, len(conf.RunArgs)+1)
|
args := make([]string, 0, len(conf.RunArgs)+1)
|
||||||
copy(args, conf.RunArgs)
|
copy(args, conf.RunArgs)
|
||||||
if isWasmTarget(conf.Goos) {
|
if isWasmTarget(conf.Goos) {
|
||||||
wasmer := WasmRuntime()
|
wasmer := os.ExpandEnv(WasmRuntime())
|
||||||
|
wasmerArgs := strings.Split(wasmer, " ")
|
||||||
|
wasmerCmd := wasmerArgs[0]
|
||||||
|
wasmerArgs = wasmerArgs[1:]
|
||||||
switch wasmer {
|
switch wasmer {
|
||||||
case "wasmtime":
|
case "wasmtime":
|
||||||
args = append(args, app, "--wasm", "multi-memory=true")
|
args = append(args, "--wasm", "multi-memory=true", app)
|
||||||
|
args = append(args, conf.RunArgs...)
|
||||||
|
case "iwasm":
|
||||||
|
args = append(args, "--stack-size=819200000", "--heap-size=800000000", app)
|
||||||
args = append(args, conf.RunArgs...)
|
args = append(args, conf.RunArgs...)
|
||||||
app = "wasmtime"
|
|
||||||
default:
|
default:
|
||||||
|
args = append(args, wasmerArgs...)
|
||||||
args = append(args, app)
|
args = append(args, app)
|
||||||
args = append(args, conf.RunArgs...)
|
args = append(args, conf.RunArgs...)
|
||||||
app = wasmer
|
|
||||||
}
|
}
|
||||||
|
app = wasmerCmd
|
||||||
} else {
|
} else {
|
||||||
args = conf.RunArgs
|
args = conf.RunArgs
|
||||||
}
|
}
|
||||||
@@ -571,7 +577,10 @@ func linkMainPkg(ctx *context, pkg *packages.Package, pkgs []*aPackage, conf *Co
|
|||||||
cmd.Stdin = os.Stdin
|
cmd.Stdin = os.Stdin
|
||||||
cmd.Stdout = os.Stdout
|
cmd.Stdout = os.Stdout
|
||||||
cmd.Stderr = os.Stderr
|
cmd.Stderr = os.Stderr
|
||||||
cmd.Run()
|
err = cmd.Run()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
if s := cmd.ProcessState; s != nil {
|
if s := cmd.ProcessState; s != nil {
|
||||||
mockable.Exit(s.ExitCode())
|
mockable.Exit(s.ExitCode())
|
||||||
}
|
}
|
||||||
@@ -988,7 +997,7 @@ const llgoStdioNobuf = "LLGO_STDIO_NOBUF"
|
|||||||
const defaultWasmRuntime = "wasmtime"
|
const defaultWasmRuntime = "wasmtime"
|
||||||
|
|
||||||
func defaultEnv(env string, defVal string) string {
|
func defaultEnv(env string, defVal string) string {
|
||||||
envVal := strings.ToLower(os.Getenv(env))
|
envVal := os.Getenv(env)
|
||||||
if envVal == "" {
|
if envVal == "" {
|
||||||
return defVal
|
return defVal
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user