github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/autoconf/probe/c_function.go (about) 1 package probe 2 3 import ( 4 "fmt" 5 ) 6 7 type ProbeCFunction struct { 8 ProbeCBase 9 } 10 11 func (p ProbeCFunction) Probe() error { 12 f := p.Functions() 13 src := p.CSource() 14 for _, i := range f { 15 src.Text.WriteString(fmt.Sprintf("extern int %s();\n", i)) 16 } 17 for _, i := range f { 18 src.MainBody.WriteString(fmt.Sprintf(" %s();\n", i)) 19 } 20 return p.RunCheckCProg(src) 21 } 22 23 func MakeProbeCFunction(chk Check) ProbeInterface { 24 p := ProbeCFunction{MakeProbeCBase(chk)} 25 p.SetIdList(p.Functions()) 26 return p 27 }