Commit f07f9de8 authored by Ian Lance Taylor's avatar Ian Lance Taylor

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
parent b11f85a8
...@@ -897,6 +897,8 @@ func splitQuoted(s string) (r []string, err error) { ...@@ -897,6 +897,8 @@ func splitQuoted(s string) (r []string, err error) {
// $GOARCH // $GOARCH
// cgo (if cgo is enabled) // cgo (if cgo is enabled)
// !cgo (if cgo is disabled) // !cgo (if cgo is disabled)
// ctxt.Compiler
// !ctxt.Compiler
// tag (if tag is listed in ctxt.BuildTags) // tag (if tag is listed in ctxt.BuildTags)
// !tag (if tag is not listed in ctxt.BuildTags) // !tag (if tag is not listed in ctxt.BuildTags)
// a comma-separated list of any of these // a comma-separated list of any of these
...@@ -928,7 +930,7 @@ func (ctxt *Context) match(name string) bool { ...@@ -928,7 +930,7 @@ func (ctxt *Context) match(name string) bool {
if ctxt.CgoEnabled && name == "cgo" { if ctxt.CgoEnabled && name == "cgo" {
return true return true
} }
if name == ctxt.GOOS || name == ctxt.GOARCH { if name == ctxt.GOOS || name == ctxt.GOARCH || name == ctxt.Compiler {
return true return true
} }
......
...@@ -88,6 +88,7 @@ ...@@ -88,6 +88,7 @@
// //
// - the target operating system, as spelled by runtime.GOOS // - the target operating system, as spelled by runtime.GOOS
// - the target architecture, as spelled by runtime.GOARCH // - the target architecture, as spelled by runtime.GOARCH
// - the compiler being used, currently either "gc" or "gccgo"
// - "cgo", if ctxt.CgoEnabled is true // - "cgo", if ctxt.CgoEnabled is true
// - any additional words listed in ctxt.BuildTags // - any additional words listed in ctxt.BuildTags
// //
......
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