Commit 8a958216 authored by Ian Lance Taylor's avatar Ian Lance Taylor

cgo: If CC is set in environment, use it rather than "gcc".

R=rsc
CC=golang-dev
https://golang.org/cl/1842042
parent 444066e5
......@@ -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
}
......
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