add force-espclang to force using esp-clang for dev mode

This commit is contained in:
Li Jie
2025-08-24 17:25:25 +08:00
parent ca30338066
commit 11e1348a2c
2 changed files with 5 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ var AbiMode int
var CheckLinkArgs bool var CheckLinkArgs bool
var CheckLLFiles bool var CheckLLFiles bool
var GenLLFiles bool var GenLLFiles bool
var ForceEspClang bool
func AddBuildFlags(fs *flag.FlagSet) { func AddBuildFlags(fs *flag.FlagSet) {
fs.BoolVar(&Verbose, "v", false, "Verbose mode") fs.BoolVar(&Verbose, "v", false, "Verbose mode")
@@ -32,6 +33,7 @@ func AddBuildFlags(fs *flag.FlagSet) {
fs.BoolVar(&CheckLinkArgs, "check-linkargs", false, "check link args valid") fs.BoolVar(&CheckLinkArgs, "check-linkargs", false, "check link args valid")
fs.BoolVar(&CheckLLFiles, "check-llfiles", false, "check .ll files valid") fs.BoolVar(&CheckLLFiles, "check-llfiles", false, "check .ll files valid")
fs.BoolVar(&GenLLFiles, "gen-llfiles", false, "generate .ll files for pkg export") fs.BoolVar(&GenLLFiles, "gen-llfiles", false, "generate .ll files for pkg export")
fs.BoolVar(&ForceEspClang, "force-espclang", false, "force to use esp-clang")
} }
} }
@@ -56,5 +58,6 @@ func UpdateConfig(conf *build.Config) {
conf.CheckLinkArgs = CheckLinkArgs conf.CheckLinkArgs = CheckLinkArgs
conf.CheckLLFiles = CheckLLFiles conf.CheckLLFiles = CheckLLFiles
conf.GenLL = GenLLFiles conf.GenLL = GenLLFiles
conf.ForceEspClang = ForceEspClang
} }
} }

View File

@@ -86,6 +86,7 @@ type Config struct {
GenLL bool // generate pkg .ll files GenLL bool // generate pkg .ll files
CheckLLFiles bool // check .ll files valid CheckLLFiles bool // check .ll files valid
CheckLinkArgs bool // check linkargs valid CheckLinkArgs bool // check linkargs valid
ForceEspClang bool // force to use esp-clang
Tags string Tags string
GlobalNames map[string][]string // pkg => names GlobalNames map[string][]string // pkg => names
GlobalDatas map[string]string // pkg.name => data GlobalDatas map[string]string // pkg.name => data
@@ -159,7 +160,7 @@ func Do(args []string, conf *Config) ([]Package, error) {
conf.Goarch = runtime.GOARCH conf.Goarch = runtime.GOARCH
} }
// Handle crosscompile configuration first to set correct GOOS/GOARCH // Handle crosscompile configuration first to set correct GOOS/GOARCH
forceEspClang := conf.Target != "" forceEspClang := conf.ForceEspClang || conf.Target != ""
export, err := crosscompile.Use(conf.Goos, conf.Goarch, conf.Target, IsWasiThreadsEnabled(), forceEspClang) export, err := crosscompile.Use(conf.Goos, conf.Goarch, conf.Target, IsWasiThreadsEnabled(), forceEspClang)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to setup crosscompile: %w", err) return nil, fmt.Errorf("failed to setup crosscompile: %w", err)