1
0
mirror of https://github.com/golang/go synced 2024-11-24 16:30:17 -07:00

go: don't clobber command install paths

This fixes a regression that was made when adding
support for building with gccgo (in d6a14e6fac0c).

External commands (those not from the Go tree) were
being installed to the package directory instead of
the binary directory.

R=golang-dev, rsc, adg, remyoudompheng, rsc
CC=golang-dev
https://golang.org/cl/5564072
This commit is contained in:
Anthony Martin 2012-01-30 13:54:22 -05:00 committed by Russ Cox
parent 6ebf8a6400
commit d2599b431e

View File

@ -279,17 +279,20 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
p.target += ".exe"
}
} else {
p.target = filepath.Join(t.PkgDir(), filepath.FromSlash(importPath)+".a")
}
// For gccgo, rewrite p.target with the expected library name. We won't do
// that for the standard library for the moment.
if !p.Standard {
dir := t.PkgDir()
// For gccgo, rewrite p.target with the expected library name.
if _, ok := buildToolchain.(gccgoToolchain); ok {
dir = filepath.Join(filepath.Dir(dir), "gccgo", filepath.Base(dir))
}
p.target = buildToolchain.pkgpath(dir, p)
// NB. Currently we have gccgo install the standard libraries
// in the "usual" location, where the Go toolchain puts them.
if p.Standard {
if _, ok := buildToolchain.(gccgoToolchain); ok {
p.target = goToolchain{}.pkgpath(dir, p)
}
}
}
var built time.Time