internal/cl:include llvm-config --cflags to find libunwind.h
This commit is contained in:
10
xtool/env/llvm/llvm.go
vendored
10
xtool/env/llvm/llvm.go
vendored
@@ -50,6 +50,7 @@ func defaultLLVMConfigBin() string {
|
||||
// Env represents an LLVM installation.
|
||||
type Env struct {
|
||||
binDir string
|
||||
cflags string
|
||||
}
|
||||
|
||||
// New creates a new [Env] instance.
|
||||
@@ -62,7 +63,12 @@ func New(llvmConfigBin string) *Env {
|
||||
// executables are assumed to be in PATH.
|
||||
binDir, _ := exec.Command(llvmConfigBin, "--bindir").Output()
|
||||
|
||||
e := &Env{binDir: strings.TrimSpace(string(binDir))}
|
||||
cflags, _ := exec.Command(llvmConfigBin, "--cflags").Output()
|
||||
|
||||
e := &Env{
|
||||
binDir: strings.TrimSpace(string(binDir)),
|
||||
cflags: strings.TrimSpace(string(cflags)),
|
||||
}
|
||||
return e
|
||||
}
|
||||
|
||||
@@ -70,6 +76,8 @@ func New(llvmConfigBin string) *Env {
|
||||
// means LLVM executables are assumed to be in PATH.
|
||||
func (e *Env) BinDir() string { return e.binDir }
|
||||
|
||||
func (e *Env) Cflags() string { return e.cflags }
|
||||
|
||||
// Clang returns a new [clang.Cmd] instance.
|
||||
func (e *Env) Clang() *clang.Cmd {
|
||||
bin := filepath.Join(e.BinDir(), "clang++")
|
||||
|
||||
Reference in New Issue
Block a user