Move toolchain and global variables into separate package

Move all of the configuration into a cc/config package

Change-Id: If56fc7242062ed1ce3cb297f78a1e0ef7537373c
This commit is contained in:
Colin Cross
2016-07-29 13:44:28 -07:00
parent f0cfc7b9e4
commit b98c8b0595
21 changed files with 532 additions and 462 deletions

View File

@@ -19,15 +19,16 @@ package cc
// functions.
import (
"android/soong/android"
"fmt"
"path/filepath"
"runtime"
"strconv"
"path/filepath"
"strings"
"github.com/google/blueprint"
"android/soong/android"
"android/soong/cc/config"
)
const (
@@ -79,16 +80,16 @@ var (
darwinAr = pctx.StaticRule("darwinAr",
blueprint.RuleParams{
Command: "rm -f ${out} && ${macArPath} $arFlags $out $in",
CommandDeps: []string{"${macArPath}"},
Command: "rm -f ${out} && ${config.MacArPath} $arFlags $out $in",
CommandDeps: []string{"${config.MacArPath}"},
Description: "ar $out",
},
"arFlags")
darwinAppendAr = pctx.StaticRule("darwinAppendAr",
blueprint.RuleParams{
Command: "cp -f ${inAr} ${out}.tmp && ${macArPath} $arFlags ${out}.tmp $in && mv ${out}.tmp ${out}",
CommandDeps: []string{"${macArPath}", "${inAr}"},
Command: "cp -f ${inAr} ${out}.tmp && ${config.MacArPath} $arFlags ${out}.tmp $in && mv ${out}.tmp ${out}",
CommandDeps: []string{"${config.MacArPath}", "${inAr}"},
Description: "ar $out",
},
"arFlags", "inAr")
@@ -161,7 +162,7 @@ type builderFlags struct {
libFlags string
yaccFlags string
nocrt bool
toolchain Toolchain
toolchain config.Toolchain
clang bool
stripKeepSymbols bool
@@ -180,11 +181,11 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
asflags := flags.globalFlags + " " + flags.asFlags
if flags.clang {
cflags += " ${noOverrideClangGlobalCflags}"
cppflags += " ${noOverrideClangGlobalCflags}"
cflags += " ${config.NoOverrideClangGlobalCflags}"
cppflags += " ${config.NoOverrideClangGlobalCflags}"
} else {
cflags += " ${noOverrideGlobalCflags}"
cppflags += " ${noOverrideGlobalCflags}"
cflags += " ${config.NoOverrideGlobalCflags}"
cppflags += " ${config.NoOverrideGlobalCflags}"
}
for i, srcFile := range srcFiles {
@@ -220,7 +221,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
panic("unrecoginzied ccCmd")
}
ccCmd = "${clangBin}/" + ccCmd
ccCmd = "${config.ClangBin}/" + ccCmd
} else {
ccCmd = gccCmd(flags.toolchain, ccCmd)
}
@@ -345,7 +346,7 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext,
var ldCmd string
if flags.clang {
ldCmd = "${clangBin}/clang++"
ldCmd = "${config.ClangBin}/clang++"
} else {
ldCmd = gccCmd(flags.toolchain, "g++")
}
@@ -416,7 +417,7 @@ func TransformObjsToObj(ctx android.ModuleContext, objFiles android.Paths,
var ldCmd string
if flags.clang {
ldCmd = "${clangBin}clang++"
ldCmd = "${config.ClangBin}/clang++"
} else {
ldCmd = gccCmd(flags.toolchain, "g++")
}
@@ -499,7 +500,7 @@ func CopyGccLib(ctx android.ModuleContext, libName string,
})
}
func gccCmd(toolchain Toolchain, cmd string) string {
func gccCmd(toolchain config.Toolchain, cmd string) string {
return filepath.Join(toolchain.GccRoot(), "bin", toolchain.GccTriple()+"-"+cmd)
}