llvm-go: Add flag for specifying path to go command.

Differential Revision: http://reviews.llvm.org/D7627

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229209 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Peter Collingbourne 2015-02-14 01:45:56 +00:00
parent 9de77c7eca
commit e887b2e8f3

View File

@ -137,7 +137,7 @@ type (run_build_sh int)
`, flags.cpp, flags.cxx, flags.ld)
}
func runGoWithLLVMEnv(args []string, cc, cxx, llgo, cppflags, cxxflags, ldflags string) {
func runGoWithLLVMEnv(args []string, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags string) {
args = addTag(args, "byollvm")
srcdir := llvmConfig("--src-root")
@ -209,12 +209,12 @@ func runGoWithLLVMEnv(args []string, cc, cxx, llgo, cppflags, cxxflags, ldflags
}
}
gocmdpath, err := exec.LookPath("go")
gocmdpath, err := exec.LookPath(gocmd)
if err != nil {
panic(err.Error())
}
proc, err := os.StartProcess(gocmdpath, append([]string{"go"}, args...),
proc, err := os.StartProcess(gocmdpath, append([]string{gocmd}, args...),
&os.ProcAttr{
Env: newenv,
Files: []*os.File{os.Stdin, os.Stdout, os.Stderr},
@ -247,6 +247,7 @@ func main() {
cppflags := os.Getenv("CGO_CPPFLAGS")
cxxflags := os.Getenv("CGO_CXXFLAGS")
ldflags := os.Getenv("CGO_LDFLAGS")
gocmd := "go"
llgo := ""
args := os.Args[1:]
@ -260,6 +261,9 @@ func main() {
case strings.HasPrefix(args[0], "cxx="):
cxx = args[0][4:]
args = args[1:]
case strings.HasPrefix(args[0], "go="):
gocmd = args[0][3:]
args = args[1:]
case strings.HasPrefix(args[0], "llgo="):
llgo = args[0][5:]
args = args[1:]
@ -279,7 +283,7 @@ func main() {
switch args[0] {
case "build", "get", "install", "run", "test":
runGoWithLLVMEnv(args, cc, cxx, llgo, cppflags, cxxflags, ldflags)
runGoWithLLVMEnv(args, cc, cxx, gocmd, llgo, cppflags, cxxflags, ldflags)
case "print-components":
printComponents()
case "print-config":