From: Ian Lance Taylor Date: Thu, 1 Nov 2012 18:12:15 +0000 (-0700) Subject: go/build: support compiler as build constraint X-Git-Tag: go1.1rc2~1993 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f07f9de8ec65763498410bb3c8778a87317278aa;p=gostls13.git go/build: support compiler as build constraint This supports writing different .c/.s code when using gccgo. R=golang-dev, dsymonds, iant, rsc CC=golang-dev https://golang.org/cl/6823055 --- diff --git a/src/pkg/go/build/build.go b/src/pkg/go/build/build.go index b8b1c13b5b..d32afc31db 100644 --- a/src/pkg/go/build/build.go +++ b/src/pkg/go/build/build.go @@ -897,6 +897,8 @@ func splitQuoted(s string) (r []string, err error) { // $GOARCH // cgo (if cgo is enabled) // !cgo (if cgo is disabled) +// ctxt.Compiler +// !ctxt.Compiler // tag (if tag is listed in ctxt.BuildTags) // !tag (if tag is not listed in ctxt.BuildTags) // a comma-separated list of any of these @@ -928,7 +930,7 @@ func (ctxt *Context) match(name string) bool { if ctxt.CgoEnabled && name == "cgo" { return true } - if name == ctxt.GOOS || name == ctxt.GOARCH { + if name == ctxt.GOOS || name == ctxt.GOARCH || name == ctxt.Compiler { return true } diff --git a/src/pkg/go/build/doc.go b/src/pkg/go/build/doc.go index 3aaa6ac657..36dd308934 100644 --- a/src/pkg/go/build/doc.go +++ b/src/pkg/go/build/doc.go @@ -88,6 +88,7 @@ // // - the target operating system, as spelled by runtime.GOOS // - the target architecture, as spelled by runtime.GOARCH +// - the compiler being used, currently either "gc" or "gccgo" // - "cgo", if ctxt.CgoEnabled is true // - any additional words listed in ctxt.BuildTags //