aboutsummaryrefslogtreecommitdiffstats
path: root/cc/compiler.go
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2016-07-29 13:44:28 -0700
committerColin Cross <ccross@android.com>2016-08-01 13:37:01 -0700
commitb98c8b05954dd78d3c4bb87b0bceeb03ef4b362c (patch)
tree3b96a5ed94f7061ab1303dd0d9189468b66d488a /cc/compiler.go
parentf0cfc7b9e4d57a7c8a07186140f2cb333a6a9425 (diff)
downloadbuild_soong-b98c8b05954dd78d3c4bb87b0bceeb03ef4b362c.tar.gz
build_soong-b98c8b05954dd78d3c4bb87b0bceeb03ef4b362c.tar.bz2
build_soong-b98c8b05954dd78d3c4bb87b0bceeb03ef4b362c.zip
Move toolchain and global variables into separate package
Move all of the configuration into a cc/config package Change-Id: If56fc7242062ed1ce3cb297f78a1e0ef7537373c
Diffstat (limited to 'cc/compiler.go')
-rw-r--r--cc/compiler.go59
1 files changed, 30 insertions, 29 deletions
diff --git a/cc/compiler.go b/cc/compiler.go
index 8fcab8fa..4c30c98e 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -20,6 +20,7 @@ import (
"strings"
"android/soong/android"
+ "android/soong/cc/config"
)
// This file contains the basic C/C++/assembly to .o compliation steps
@@ -118,7 +119,7 @@ func (compiler *baseCompiler) deps(ctx BaseModuleContext, deps Deps) Deps {
// Create a Flags struct that collects the compile flags from global values,
// per-target values, module type values, and per-module Blueprints properties
func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
- toolchain := ctx.toolchain()
+ tc := ctx.toolchain()
CheckBadCompilerFlags(ctx, "cflags", compiler.Properties.Cflags)
CheckBadCompilerFlags(ctx, "cppflags", compiler.Properties.Cppflags)
@@ -141,9 +142,9 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
if !ctx.noDefaultCompilerFlags() {
if !ctx.sdk() || ctx.Host() {
flags.GlobalFlags = append(flags.GlobalFlags,
- "${commonGlobalIncludes}",
- toolchain.IncludeFlags(),
- "${commonNativehelperInclude}")
+ "${config.CommonGlobalIncludes}",
+ tc.IncludeFlags(),
+ "${config.CommonNativehelperInclude}")
}
flags.GlobalFlags = append(flags.GlobalFlags, []string{
@@ -160,7 +161,7 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
// behavior here, and the NDK always has all the NDK headers available.
flags.GlobalFlags = append(flags.GlobalFlags,
"-isystem "+getCurrentIncludePath(ctx).String(),
- "-isystem "+getCurrentIncludePath(ctx).Join(ctx, toolchain.ClangTriple()).String())
+ "-isystem "+getCurrentIncludePath(ctx).Join(ctx, tc.ClangTriple()).String())
// Traditionally this has come from android/api-level.h, but with the
// libc headers unified it must be set by the build system since we
@@ -181,9 +182,9 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
if flags.RequiredInstructionSet != "" {
instructionSet = flags.RequiredInstructionSet
}
- instructionSetFlags, err := toolchain.InstructionSetFlags(instructionSet)
+ instructionSetFlags, err := tc.InstructionSetFlags(instructionSet)
if flags.Clang {
- instructionSetFlags, err = toolchain.ClangInstructionSetFlags(instructionSet)
+ instructionSetFlags, err = tc.ClangInstructionSetFlags(instructionSet)
}
if err != nil {
ctx.ModuleErrorf("%s", err)
@@ -198,17 +199,17 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
CheckBadCompilerFlags(ctx, "clang_cflags", compiler.Properties.Clang_cflags)
CheckBadCompilerFlags(ctx, "clang_asflags", compiler.Properties.Clang_asflags)
- flags.CFlags = clangFilterUnknownCflags(flags.CFlags)
+ flags.CFlags = config.ClangFilterUnknownCflags(flags.CFlags)
flags.CFlags = append(flags.CFlags, compiler.Properties.Clang_cflags...)
flags.AsFlags = append(flags.AsFlags, compiler.Properties.Clang_asflags...)
- flags.CppFlags = clangFilterUnknownCflags(flags.CppFlags)
- flags.ConlyFlags = clangFilterUnknownCflags(flags.ConlyFlags)
- flags.LdFlags = clangFilterUnknownCflags(flags.LdFlags)
+ flags.CppFlags = config.ClangFilterUnknownCflags(flags.CppFlags)
+ flags.ConlyFlags = config.ClangFilterUnknownCflags(flags.ConlyFlags)
+ flags.LdFlags = config.ClangFilterUnknownCflags(flags.LdFlags)
- target := "-target " + toolchain.ClangTriple()
+ target := "-target " + tc.ClangTriple()
var gccPrefix string
if !ctx.Darwin() {
- gccPrefix = "-B" + filepath.Join(toolchain.GccRoot(), toolchain.GccTriple(), "bin")
+ gccPrefix = "-B" + filepath.Join(tc.GccRoot(), tc.GccTriple(), "bin")
}
flags.CFlags = append(flags.CFlags, target, gccPrefix)
@@ -216,29 +217,29 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
flags.LdFlags = append(flags.LdFlags, target, gccPrefix)
}
- hod := "host"
+ hod := "Host"
if ctx.Os().Class == android.Device {
- hod = "device"
+ hod = "Device"
}
if !ctx.noDefaultCompilerFlags() {
flags.GlobalFlags = append(flags.GlobalFlags, instructionSetFlags)
if flags.Clang {
- flags.AsFlags = append(flags.AsFlags, toolchain.ClangAsflags())
- flags.CppFlags = append(flags.CppFlags, "${commonClangGlobalCppflags}")
+ flags.AsFlags = append(flags.AsFlags, tc.ClangAsflags())
+ flags.CppFlags = append(flags.CppFlags, "${config.CommonClangGlobalCppflags}")
flags.GlobalFlags = append(flags.GlobalFlags,
- toolchain.ClangCflags(),
- "${commonClangGlobalCflags}",
- fmt.Sprintf("${%sClangGlobalCflags}", hod))
+ tc.ClangCflags(),
+ "${config.CommonClangGlobalCflags}",
+ fmt.Sprintf("${config.%sClangGlobalCflags}", hod))
- flags.ConlyFlags = append(flags.ConlyFlags, "${clangExtraConlyflags}")
+ flags.ConlyFlags = append(flags.ConlyFlags, "${config.ClangExtraConlyflags}")
} else {
- flags.CppFlags = append(flags.CppFlags, "${commonGlobalCppflags}")
+ flags.CppFlags = append(flags.CppFlags, "${config.CommonGlobalCppflags}")
flags.GlobalFlags = append(flags.GlobalFlags,
- toolchain.Cflags(),
- "${commonGlobalCflags}",
- fmt.Sprintf("${%sGlobalCflags}", hod))
+ tc.Cflags(),
+ "${config.CommonGlobalCflags}",
+ fmt.Sprintf("${config.%sGlobalCflags}", hod))
}
if Bool(ctx.AConfig().ProductVariables.Brillo) {
@@ -256,16 +257,16 @@ func (compiler *baseCompiler) flags(ctx ModuleContext, flags Flags) Flags {
flags.AsFlags = append(flags.AsFlags, "-D__ASSEMBLY__")
if flags.Clang {
- flags.CppFlags = append(flags.CppFlags, toolchain.ClangCppflags())
+ flags.CppFlags = append(flags.CppFlags, tc.ClangCppflags())
} else {
- flags.CppFlags = append(flags.CppFlags, toolchain.Cppflags())
+ flags.CppFlags = append(flags.CppFlags, tc.Cppflags())
}
}
if flags.Clang {
- flags.GlobalFlags = append(flags.GlobalFlags, toolchain.ToolchainClangCflags())
+ flags.GlobalFlags = append(flags.GlobalFlags, tc.ToolchainClangCflags())
} else {
- flags.GlobalFlags = append(flags.GlobalFlags, toolchain.ToolchainCflags())
+ flags.GlobalFlags = append(flags.GlobalFlags, tc.ToolchainCflags())
}
if !ctx.sdk() {