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 (
"os/exec"
"path/filepath"
"strconv"
"strings"
)
// goToolsVersion is the hg revision of the go.tools subrepo we need
......@@ -45,7 +46,7 @@ func main() {
gopath := prepGoPath()
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()
if err != nil {
log.Fatalf("Error installing cmd/api: %v\n%s", err, out)
......@@ -61,6 +62,22 @@ func main() {
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.
// If there are more than 1, they're comma-separated.
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