diff options
author | Bryan C. Mills <bcmills@google.com> | 2023-06-22 11:04:45 -0400 |
---|---|---|
committer | Gopher Robot <gobot@golang.org> | 2023-06-22 19:44:52 +0000 |
commit | f8616b84849f089635a041d657da6f5cced790e0 (patch) | |
tree | b12cb4fdbb593733d49f5a3654ac6683b0beecf2 /src/cmd/dist | |
parent | 51885c1fa2eff36c421d6669816f971b54b63a33 (diff) | |
download | go-f8616b84849f089635a041d657da6f5cced790e0.tar.gz go-f8616b84849f089635a041d657da6f5cced790e0.zip |
internal/platform,cmd/dist: export the list of supported platforms
Also switch internal/platform to commit the generated code instead of
regenerating it in cmd/dist. Nothing in the generated code depends on
the target configuration, and committing the source file makes it
more amenable to searching and indexing (particularly on
https://cs.opensource.google/go/go).
For #60939.
Change-Id: I9133dfd5129b3c4d7457267589dfac5e7ecbef65
Reviewed-on: https://go-review.googlesource.com/c/go/+/505175
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Bryan Mills <bcmills@google.com>
Reviewed-by: Austin Clements <austin@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/cmd/dist')
-rw-r--r-- | src/cmd/dist/build.go | 9 | ||||
-rw-r--r-- | src/cmd/dist/buildruntime.go | 23 | ||||
-rw-r--r-- | src/cmd/dist/buildtool.go | 1 | ||||
-rw-r--r-- | src/cmd/dist/main.go | 16 |
4 files changed, 14 insertions, 35 deletions
diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go index 4b77ed36f7..8973a87168 100644 --- a/src/cmd/dist/build.go +++ b/src/cmd/dist/build.go @@ -631,7 +631,6 @@ var gentab = []struct { }{ {"go/build", "zcgo.go", mkzcgo}, {"cmd/go/internal/cfg", "zdefaultcc.go", mkzdefaultcc}, - {"internal/platform", "zosarch.go", mkzosarch}, {"runtime/internal/sys", "zversion.go", mkzversion}, {"time/tzdata", "zzipdata.go", mktzdata}, } @@ -1899,11 +1898,12 @@ func cmdversion() { // cmdlist lists all supported platforms. func cmdlist() { jsonFlag := flag.Bool("json", false, "produce JSON output") + brokenFlag := flag.Bool("broken", false, "include broken ports") xflagparse(0) var plats []string for p := range cgoEnabled { - if broken[p] { + if broken[p] && !*brokenFlag { continue } plats = append(plats, p) @@ -1922,6 +1922,7 @@ func cmdlist() { GOARCH string CgoSupported bool FirstClass bool + Broken bool `json:",omitempty"` } var results []jsonResult for _, p := range plats { @@ -1930,7 +1931,9 @@ func cmdlist() { GOOS: fields[0], GOARCH: fields[1], CgoSupported: cgoEnabled[p], - FirstClass: firstClass[p]}) + FirstClass: firstClass[p], + Broken: broken[p], + }) } out, err := json.MarshalIndent(results, "", "\t") if err != nil { diff --git a/src/cmd/dist/buildruntime.go b/src/cmd/dist/buildruntime.go index b3fe8b02d8..1de78f0fdb 100644 --- a/src/cmd/dist/buildruntime.go +++ b/src/cmd/dist/buildruntime.go @@ -6,7 +6,6 @@ package main import ( "fmt" - "sort" "strings" ) @@ -80,25 +79,3 @@ func mkobjabi(file string) { writefile(buf.String(), file, writeSkipSame) } - -// mkzosarch writes zosarch.go for internal/platform. -func mkzosarch(dir, file string) { - // sort for deterministic file contents. - var list []string - for plat := range cgoEnabled { - list = append(list, plat) - } - sort.Strings(list) - - var buf strings.Builder - writeHeader(&buf) - fmt.Fprintf(&buf, "package platform\n") - fmt.Fprintln(&buf) - fmt.Fprintf(&buf, "var osArchSupportsCgo = map[string]bool{\n") - for _, plat := range list { - fmt.Fprintf(&buf, "\t\t%s: %v,\n", quote(plat), cgoEnabled[plat]) - } - fmt.Fprintf(&buf, "}\n") - - writefile(buf.String(), file, writeSkipSame) -} diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go index 5e026f7bed..e638d51af7 100644 --- a/src/cmd/dist/buildtool.go +++ b/src/cmd/dist/buildtool.go @@ -126,7 +126,6 @@ func bootstrapBuildTools() { mkbuildcfg(pathf("%s/src/internal/buildcfg/zbootstrap.go", goroot)) mkobjabi(pathf("%s/src/cmd/internal/objabi/zbootstrap.go", goroot)) - mkzosarch("", pathf("%s/src/internal/platform/zosarch.go", goroot)) // Use $GOROOT/pkg/bootstrap as the bootstrap workspace root. // We use a subdirectory of $GOROOT/pkg because that's the diff --git a/src/cmd/dist/main.go b/src/cmd/dist/main.go index 5f3e5bc9bd..f3425a9dd8 100644 --- a/src/cmd/dist/main.go +++ b/src/cmd/dist/main.go @@ -16,14 +16,14 @@ func usage() { xprintf(`usage: go tool dist [command] Commands are: -banner print installation banner -bootstrap rebuild everything -clean deletes all built files -env [-p] print environment (-p: include $PATH) -install [dir] install individual directory -list [-json] list all supported platforms -test [-h] run Go test(s) -version print Go version +banner print installation banner +bootstrap rebuild everything +clean deletes all built files +env [-p] print environment (-p: include $PATH) +install [dir] install individual directory +list [-json] [-broken] list all supported platforms +test [-h] run Go test(s) +version print Go version All commands take -v flags to emit extra information. `) |