go/build: use GCCGOTOOLDIR to find gccgo tools

Add the environment variable GCCGOTOOLDIR to permit overriding the default
    directory where tools like cgo are found when building with gccgo.
    
    This will be used by the cmd/go tests in a future CL.
    
    Reviewed-on: https://go-review.googlesource.com/45694

From-SVN: r249196
This commit is contained in:
Ian Lance Taylor 2017-06-14 13:50:53 +00:00
parent 0818233f80
commit b205ec303f
4 changed files with 8 additions and 2 deletions

View File

@ -1,4 +1,4 @@
6d1d558109b5f5e53b31cc3325485dbb9f06d430
a790c5fec06ced726c7f0f597186883ce61d0a45
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -1143,6 +1143,9 @@
// Defined by Git. A colon-separated list of schemes that are allowed to be used
// with git fetch/clone. If set, any scheme not explicitly mentioned will be
// considered insecure by 'go get'.
// GCCGOTOOLDIR
// If set, where to find gccgo tools, such as cgo.
// The default is based on how gccgo was configured.
//
//
// Import path syntax

View File

@ -508,6 +508,9 @@ Special-purpose environment variables:
Defined by Git. A colon-separated list of schemes that are allowed to be used
with git fetch/clone. If set, any scheme not explicitly mentioned will be
considered insecure by 'go get'.
GCCGOTOOLDIR
If set, where to find gccgo tools, such as cgo.
The default is based on how gccgo was configured.
`,
}

View File

@ -1549,7 +1549,7 @@ func init() {
func getToolDir() string {
if runtime.Compiler == "gccgo" {
return runtime.GCCGOTOOLDIR
return envOr("GCCGOTOOLDIR", runtime.GCCGOTOOLDIR)
} else {
return filepath.Join(runtime.GOROOT(), "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH)
}