diff options
author | Austin Clements <austin@google.com> | 2016-06-16 14:38:33 -0400 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2016-06-16 19:32:33 +0000 |
commit | 79f2f008a31f769ae3db684eb48d8baeda731c00 (patch) | |
tree | db83f340b97f74edbc15be33f255b30e843a0b84 | |
parent | c3818e56d0f60493a63b2bb03a09f261d3e0ada2 (diff) | |
download | go-79f2f008a31f769ae3db684eb48d8baeda731c00.tar.gz go-79f2f008a31f769ae3db684eb48d8baeda731c00.zip |
cmd/dist: make zosarch.go deterministic
Currently zosarch.go is written out in non-deterministic map order.
Sort the keys and write it out in sorted order to make the generated
file contents deterministic.
Change-Id: Id490f0e8665a2c619c5a7a00a30f4fc64f333258
Reviewed-on: https://go-review.googlesource.com/24174
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r-- | src/cmd/dist/buildgo.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go index c367c70b04..3fab2354ad 100644 --- a/src/cmd/dist/buildgo.go +++ b/src/cmd/dist/buildgo.go @@ -42,10 +42,21 @@ func mkzdefaultcc(dir, file string) { // 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) } |