]> Cypherpunks repositories - gostls13.git/commitdiff
cgo: If CC is set in environment, use it rather than "gcc".
authorIan Lance Taylor <iant@golang.org>
Fri, 16 Jul 2010 18:01:04 +0000 (11:01 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 16 Jul 2010 18:01:04 +0000 (11:01 -0700)
R=rsc
CC=golang-dev
https://golang.org/cl/1842042

src/cmd/cgo/gcc.go

index 7638e32d858362a6d86a51894304f3acf6717da8..6cfd4d4646ff09dbaae4bf5f65a7519cbd7faaf4 100644 (file)
@@ -450,6 +450,16 @@ func (p *Package) rewriteRef(f *File) {
        }
 }
 
+// gccName returns the name of the compiler to run.  Use CC if set in
+// the environment, otherwise just "gcc".
+
+func (p *Package) gccName() (ret string) {
+       if ret = os.Getenv("CC"); ret == "" {
+               ret = "gcc"
+       }
+       return
+}
+
 // gccMachine returns the gcc -m flag to use, either "-m32" or "-m64".
 func (p *Package) gccMachine() string {
        if p.PtrSize == 8 {
@@ -464,7 +474,7 @@ const gccTmp = "_cgo_.o"
 // the input.
 func (p *Package) gccCmd() []string {
        return []string{
-               "gcc",
+               p.gccName(),
                p.gccMachine(),
                "-Wall",                             // many warnings
                "-Werror",                           // warnings are errors
@@ -506,7 +516,7 @@ func (p *Package) gccDebug(stdin []byte) *dwarf.Data {
 // #defines that gcc encountered while processing the input
 // and its included files.
 func (p *Package) gccDefines(stdin []byte) string {
-       base := []string{"gcc", p.gccMachine(), "-E", "-dM", "-xc", "-"}
+       base := []string{p.gccName(), p.gccMachine(), "-E", "-dM", "-xc", "-"}
        stdout, _ := runGcc(stdin, concat(base, p.GccOptions))
        return stdout
 }