aboutsummaryrefslogtreecommitdiff
path: root/libgo/go
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-09 21:18:04 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-09 21:18:04 +0000
commit06df6acd196af4e89ccfbc7b23fcc4ea195f556f (patch)
treee13cc5ba089f13152af01ecac6bf81494a320833 /libgo/go
parent1f78217c0e58ddce6f65bded4733f117b83b23ad (diff)
cmd/go: Adjust finding gccgo to match current upstream sources.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219406 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go')
-rw-r--r--libgo/go/cmd/go/build.go19
1 files changed, 13 insertions, 6 deletions
diff --git a/libgo/go/cmd/go/build.go b/libgo/go/cmd/go/build.go
index 8de76276118..36216cea404 100644
--- a/libgo/go/cmd/go/build.go
+++ b/libgo/go/cmd/go/build.go
@@ -1783,15 +1783,22 @@ func (gcToolchain) cc(b *builder, p *Package, objdir, ofile, cfile string) error
// The Gccgo toolchain.
type gccgoToolchain struct{}
-func (gccgoToolchain) compiler() string {
- if v := os.Getenv("GOC"); v != "" {
- return v
+var gccgoName, gccgoBin string
+
+func init() {
+ gccgoName = os.Getenv("GCCGO")
+ if gccgoName == "" {
+ gccgoName = defaultGCCGO
}
- return defaultGOC
+ gccgoBin, _ = exec.LookPath(gccgoName)
+}
+
+func (gccgoToolchain) compiler() string {
+ return gccgoBin
}
-func (tools gccgoToolchain) linker() string {
- return tools.compiler()
+func (gccgoToolchain) linker() string {
+ return gccgoBin
}
func (tools gccgoToolchain) gc(b *builder, p *Package, archive, obj string, importArgs []string, gofiles []string) (ofile string, output []byte, err error) {