// mkzcgo writes zosarch.go for cmd/go.
func mkzosarch(dir, file string) {
+ // sort for deterministic zosarch.go file
+ var list []string
+ for plat := range cgoEnabled {
+ list = append(list, plat)
+ }
+ sort.Strings(list)
+
var buf bytes.Buffer
buf.WriteString("// auto generated by go tool dist\n\n")
buf.WriteString("package main\n\n")
- fmt.Fprintf(&buf, "var osArchSupportsCgo = %#v", cgoEnabled)
+ fmt.Fprintf(&buf, "var osArchSupportsCgo = map[string]bool{\n")
+ for _, plat := range list {
+ fmt.Fprintf(&buf, "\t%q: %v,\n", plat, cgoEnabled[plat])
+ }
+ fmt.Fprintf(&buf, "}\n")
writefile(buf.String(), file, writeSkipSame)
}