Commit ca75fdf9 authored by Russ Cox's avatar Russ Cox

cmd/go: treat all commands in exp/ as tools

Nothing in exp should get installed directly in bin,
at least not by default.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6497138
parent a4d08ed5
......@@ -264,13 +264,11 @@ func reusePackage(p *Package, stk *importStack) *Package {
// isGoTool is the list of directories for Go programs that are installed in
// $GOROOT/pkg/tool.
var isGoTool = map[string]bool{
"cmd/api": true,
"cmd/cgo": true,
"cmd/fix": true,
"cmd/vet": true,
"cmd/yacc": true,
"exp/gotype": true,
"exp/ebnflint": true,
"cmd/api": true,
"cmd/cgo": true,
"cmd/fix": true,
"cmd/vet": true,
"cmd/yacc": true,
}
// expandScanner expands a scanner.List error into all the errors in the list.
......@@ -321,7 +319,7 @@ func (p *Package) load(stk *importStack, bp *build.Package, err error) *Package
elem = full
}
p.target = filepath.Join(p.build.BinDir, elem)
if p.Goroot && isGoTool[p.ImportPath] {
if p.Goroot && (isGoTool[p.ImportPath] || hasPrefix(p.ImportPath, "exp/")) {
p.target = filepath.Join(gorootPkg, "tool", full)
}
if buildContext.GOOS == "windows" {
......
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