fix cross compilation

This commit is contained in:
Li Jie
2025-08-21 14:13:42 +08:00
parent 50a2650e67
commit 7e8df050a1
3 changed files with 42 additions and 120 deletions

View File

@@ -96,46 +96,46 @@ func (c *Cmd) Link(args ...string) error {
// mergeCompilerFlags merges environment CCFLAGS/CFLAGS with crossCompile flags.
func (c *Cmd) mergeCompilerFlags() []string {
var flags []string
// Add environment CCFLAGS
if envCCFlags := os.Getenv("CCFLAGS"); envCCFlags != "" {
flags = append(flags, safesplit.SplitPkgConfigFlags(envCCFlags)...)
}
// Add environment CFLAGS
if envCFlags := os.Getenv("CFLAGS"); envCFlags != "" {
flags = append(flags, safesplit.SplitPkgConfigFlags(envCFlags)...)
}
// Add crossCompile CCFLAGS
flags = append(flags, c.crossCompile.CCFLAGS...)
// Add crossCompile CFLAGS
flags = append(flags, c.crossCompile.CFLAGS...)
return flags
}
// mergeLinkerFlags merges environment CCFLAGS/LDFLAGS with crossCompile flags.
func (c *Cmd) mergeLinkerFlags() []string {
var flags []string
// Add environment CCFLAGS (for linker)
if envCCFlags := os.Getenv("CCFLAGS"); envCCFlags != "" {
flags = append(flags, safesplit.SplitPkgConfigFlags(envCCFlags)...)
}
// Add environment LDFLAGS
if envLDFlags := os.Getenv("LDFLAGS"); envLDFlags != "" {
flags = append(flags, safesplit.SplitPkgConfigFlags(envLDFlags)...)
}
// Add crossCompile CCFLAGS (for linker)
flags = append(flags, c.crossCompile.CCFLAGS...)
// Add crossCompile LDFLAGS
flags = append(flags, c.crossCompile.LDFLAGS...)
return flags
}
@@ -183,4 +183,4 @@ func (c *Cmd) CheckLinkArgs(cmdArgs []string, wasm bool) error {
// Execute the command with linker flags
return c.Link(args...)
}
}