build: support pkg-config and link args

This commit is contained in:
Li Jie
2024-06-04 16:30:21 +08:00
parent 2ddf8a44bc
commit 52d60d9623
4 changed files with 88 additions and 6 deletions

View File

@@ -0,0 +1,26 @@
package check
import (
"errors"
"os/exec"
"runtime"
"strings"
)
func CheckLinkArgs(args string) error {
cmdArgs := strings.Split(args, " ")
cmd := exec.Command("clang")
nul := "/dev/null"
if runtime.GOOS == "windows" {
nul = "NUL"
}
cmd.Args = append(cmd.Args, cmdArgs...)
cmd.Args = append(cmd.Args, "-x", "c", "-o", nul, "-")
src := "int main() {return 0;}"
srcIn := strings.NewReader(src)
cmd.Stdin = srcIn
if out, err := cmd.CombinedOutput(); err != nil {
return errors.New(string(out))
}
return nil
}