From 843dd035535e0966dd8a4270b252dcf4ad45c77c Mon Sep 17 00:00:00 2001 From: visualfc Date: Tue, 12 Aug 2025 09:43:47 +0800 Subject: [PATCH] cmd: llgo -abi flag (default 2) --- cmd/internal/build/build.go | 1 + cmd/internal/flags/flags.go | 2 ++ cmd/internal/install/install.go | 1 + cmd/internal/run/run.go | 1 + cmd/internal/test/test.go | 1 + 5 files changed, 6 insertions(+) diff --git a/cmd/internal/build/build.go b/cmd/internal/build/build.go index 39ab5db8..58657c1c 100644 --- a/cmd/internal/build/build.go +++ b/cmd/internal/build/build.go @@ -51,6 +51,7 @@ func runCmd(cmd *base.Command, args []string) { conf.Verbose = flags.Verbose conf.OutFile = flags.OutputFile conf.Target = flags.Target + conf.AbiMode = build.AbiMode(flags.AbiMode) args = cmd.Flag.Args() diff --git a/cmd/internal/flags/flags.go b/cmd/internal/flags/flags.go index e21f27b6..20820f3c 100644 --- a/cmd/internal/flags/flags.go +++ b/cmd/internal/flags/flags.go @@ -14,12 +14,14 @@ var Verbose bool var BuildEnv string var Tags string var Target string +var AbiMode int func AddBuildFlags(fs *flag.FlagSet) { fs.BoolVar(&Verbose, "v", false, "Verbose mode") fs.StringVar(&Tags, "tags", "", "Build tags") fs.StringVar(&BuildEnv, "buildenv", "", "Build environment") fs.StringVar(&Target, "target", "", "Target platform (e.g., rp2040, wasi)") + fs.IntVar(&AbiMode, "abi", 2, "ABI mode (default 2). 0 = none, 1 = cfunc, 2 = allfunc.") } var Gen bool diff --git a/cmd/internal/install/install.go b/cmd/internal/install/install.go index 9e17a986..96fb7275 100644 --- a/cmd/internal/install/install.go +++ b/cmd/internal/install/install.go @@ -47,6 +47,7 @@ func runCmd(cmd *base.Command, args []string) { conf := build.NewDefaultConf(build.ModeInstall) conf.Tags = flags.Tags conf.Verbose = flags.Verbose + conf.AbiMode = build.AbiMode(flags.AbiMode) args = cmd.Flag.Args() _, err := build.Do(args, conf) diff --git a/cmd/internal/run/run.go b/cmd/internal/run/run.go index 93b7bb41..dc4e53e7 100644 --- a/cmd/internal/run/run.go +++ b/cmd/internal/run/run.go @@ -72,6 +72,7 @@ func runCmdEx(cmd *base.Command, args []string, mode build.Mode) { conf.Verbose = flags.Verbose conf.GenExpect = flags.Gen conf.Target = flags.Target + conf.AbiMode = build.AbiMode(flags.AbiMode) args = cmd.Flag.Args() args, runArgs, err := parseRunArgs(args) diff --git a/cmd/internal/test/test.go b/cmd/internal/test/test.go index 34516381..557094c3 100644 --- a/cmd/internal/test/test.go +++ b/cmd/internal/test/test.go @@ -30,6 +30,7 @@ func runCmd(cmd *base.Command, args []string) { conf.Tags = flags.Tags conf.Verbose = flags.Verbose conf.Target = flags.Target + conf.AbiMode = build.AbiMode(flags.AbiMode) args = cmd.Flag.Args() _, err := build.Do(args, conf)