Run both forms of cgo inside the environment (#930)
diff --git a/go/tools/builders/cgo.go b/go/tools/builders/cgo.go
index dd35303..a24c2aa 100644
--- a/go/tools/builders/cgo.go
+++ b/go/tools/builders/cgo.go
@@ -78,6 +78,8 @@
if err := flags.Parse(args); err != nil {
return err
}
+ env := os.Environ()
+ env = append(env, goenv.Env()...)
if len(dynout) > 0 {
dynpackage, err := extractPackage(sources[0])
@@ -93,6 +95,7 @@
cmd := exec.Command(goenv.Go, goargs...)
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
+ cmd.Env = env
if err := cmd.Run(); err != nil {
return fmt.Errorf("error running cgo: %v", err)
}
@@ -205,8 +208,6 @@
if abs, err := filepath.Abs(cc); err == nil {
cc = abs
}
- env := os.Environ()
- env = append(env, goenv.Env()...)
env = append(env, fmt.Sprintf("CC=%s", cc))
env = append(env, fmt.Sprintf("CXX=%s", cc))