Commit cb79c57d authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

cmd/api: ignore GOARCH when building cmd/api.

This was breaking people setting GOARCH=386 before running
all.bash on amd64 machines.

cmd/go puts different architecture binaries where "go tool"
can't find them.

R=golang-dev, r, khr
CC=golang-dev
https://golang.org/cl/13139044
parent 33f3dffa
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
"os/exec" "os/exec"
"path/filepath" "path/filepath"
"strconv" "strconv"
"strings"
) )
// goToolsVersion is the hg revision of the go.tools subrepo we need // goToolsVersion is the hg revision of the go.tools subrepo we need
...@@ -45,7 +46,7 @@ func main() { ...@@ -45,7 +46,7 @@ func main() {
gopath := prepGoPath() gopath := prepGoPath()
cmd := exec.Command("go", "install", "--tags=api_tool", "cmd/api") cmd := exec.Command("go", "install", "--tags=api_tool", "cmd/api")
cmd.Env = append([]string{"GOPATH=" + gopath}, os.Environ()...) cmd.Env = append([]string{"GOPATH=" + gopath}, filterOut(os.Environ(), "GOARCH")...)
out, err := cmd.CombinedOutput() out, err := cmd.CombinedOutput()
if err != nil { if err != nil {
log.Fatalf("Error installing cmd/api: %v\n%s", err, out) log.Fatalf("Error installing cmd/api: %v\n%s", err, out)
...@@ -61,6 +62,22 @@ func main() { ...@@ -61,6 +62,22 @@ func main() {
fmt.Print(string(out)) fmt.Print(string(out))
} }
// filterOut returns a copy of the src environment without environment
// variables from remove.
// TODO: delete when issue 6201 is fixed.
func filterOut(src []string, remove ...string) (out []string) {
S:
for _, s := range src {
for _, r := range remove {
if strings.HasPrefix(s, r) && strings.HasPrefix(s, r+"=") {
continue S
}
}
out = append(out, s)
}
return
}
// file expands s to $GOROOT/api/s.txt. // file expands s to $GOROOT/api/s.txt.
// If there are more than 1, they're comma-separated. // If there are more than 1, they're comma-separated.
func file(s ...string) string { func file(s ...string) string {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment