// It is invoked to write cmd/go/zdefaultcc.go
// but we also write cmd/cgo/zdefaultcc.go
func mkzdefaultcc(dir, file string) {
- out := fmt.Sprintf(
+ outGo := fmt.Sprintf(
+ "// auto generated by go tool dist\n"+
+ "\n"+
+ "package cfg\n"+
+ "\n"+
+ "const DefaultCC = `%s`\n"+
+ "const DefaultCXX = `%s`\n"+
+ "const DefaultPkgConfig = `%s`\n",
+ defaultcctarget, defaultcxxtarget, defaultpkgconfigtarget)
+
+ writefile(outGo, file, writeSkipSame)
+
+ // Convert file name to replace: turn go/internal/cfg into cgo.
+ outCgo := fmt.Sprintf(
"// auto generated by go tool dist\n"+
"\n"+
"package main\n"+
"const defaultPkgConfig = `%s`\n",
defaultcctarget, defaultcxxtarget, defaultpkgconfigtarget)
- writefile(out, file, writeSkipSame)
-
- // Convert file name to replace: turn go into cgo.
- i := len(file) - len("go/zdefaultcc.go")
- file = file[:i] + "c" + file[i:]
- writefile(out, file, writeSkipSame)
+ i := len(file) - len("go/internal/cfg/zdefaultcc.go")
+ file = file[:i] + "cgo/zdefaultcc.go"
+ writefile(outCgo, file, writeSkipSame)
}
// mkzcgo writes zosarch.go for cmd/go.
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 = map[string]bool{\n")
+ buf.WriteString("package cfg\n\n")
+ fmt.Fprintf(&buf, "var OSArchSupportsCgo = map[string]bool{\n")
for _, plat := range list {
fmt.Fprintf(&buf, "\t%q: %v,\n", plat, cgoEnabled[plat])
}