aboutsummaryrefslogtreecommitdiffstats
path: root/cc/builder.go
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-25 07:29:31 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-25 07:29:31 +0000
commit723d3d7b7dcd98d1ce38ef80b06ec4468824fcd5 (patch)
tree63e984e485bc188d826ea75825bdb96eca9d7995 /cc/builder.go
parent836d143ff22c38387952d42e27051cd8999ac638 (diff)
parent0d58f98e061a20dfdb0742cc61cc5bb865b4c931 (diff)
downloadbuild_soong-723d3d7b7dcd98d1ce38ef80b06ec4468824fcd5.tar.gz
build_soong-723d3d7b7dcd98d1ce38ef80b06ec4468824fcd5.tar.bz2
build_soong-723d3d7b7dcd98d1ce38ef80b06ec4468824fcd5.zip
release-request-c5216b17-dc50-4b24-831c-dc696ed657cc-for-git_oc-dr1-release-4133426 snap-temp-L83500000077479774
Change-Id: Ibf8a69309f08813b471e5edf474d460aec73c9b8
Diffstat (limited to 'cc/builder.go')
-rw-r--r--cc/builder.go75
1 files changed, 48 insertions, 27 deletions
diff --git a/cc/builder.go b/cc/builder.go
index 51c4ce9f..61c05720 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -206,26 +206,27 @@ func init() {
}
type builderFlags struct {
- globalFlags string
- arFlags string
- asFlags string
- cFlags string
- conlyFlags string
- cppFlags string
- ldFlags string
- libFlags string
- yaccFlags string
- protoFlags string
- tidyFlags string
- sAbiFlags string
- yasmFlags string
- aidlFlags string
- rsFlags string
- toolchain config.Toolchain
- clang bool
- tidy bool
- coverage bool
- sAbiDump bool
+ globalFlags string
+ arFlags string
+ asFlags string
+ cFlags string
+ toolingCFlags string // Seperate set of Cflags for clang LibTooling tools
+ conlyFlags string
+ cppFlags string
+ ldFlags string
+ libFlags string
+ yaccFlags string
+ protoFlags string
+ tidyFlags string
+ sAbiFlags string
+ yasmFlags string
+ aidlFlags string
+ rsFlags string
+ toolchain config.Toolchain
+ clang bool
+ tidy bool
+ coverage bool
+ sAbiDump bool
systemIncludeFlags string
@@ -275,25 +276,40 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
coverageFiles = make(android.Paths, 0, len(srcFiles))
}
- cflags := strings.Join([]string{
+ commonFlags := strings.Join([]string{
flags.globalFlags,
flags.systemIncludeFlags,
+ }, " ")
+
+ toolingCflags := strings.Join([]string{
+ commonFlags,
+ flags.toolingCFlags,
+ flags.conlyFlags,
+ }, " ")
+
+ cflags := strings.Join([]string{
+ commonFlags,
flags.cFlags,
flags.conlyFlags,
}, " ")
+ toolingCppflags := strings.Join([]string{
+ commonFlags,
+ flags.toolingCFlags,
+ flags.cppFlags,
+ }, " ")
+
cppflags := strings.Join([]string{
- flags.globalFlags,
- flags.systemIncludeFlags,
+ commonFlags,
flags.cFlags,
flags.cppFlags,
}, " ")
asflags := strings.Join([]string{
- flags.globalFlags,
- flags.systemIncludeFlags,
+ commonFlags,
flags.asFlags,
}, " ")
+
var sAbiDumpFiles android.Paths
if flags.sAbiDump && flags.clang {
sAbiDumpFiles = make(android.Paths, 0, len(srcFiles))
@@ -301,7 +317,9 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
if flags.clang {
cflags += " ${config.NoOverrideClangGlobalCflags}"
+ toolingCflags += " ${config.NoOverrideClangGlobalCflags}"
cppflags += " ${config.NoOverrideClangGlobalCflags}"
+ toolingCppflags += " ${config.NoOverrideClangGlobalCflags}"
} else {
cflags += " ${config.NoOverrideGlobalCflags}"
cppflags += " ${config.NoOverrideGlobalCflags}"
@@ -327,6 +345,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
}
var moduleCflags string
+ var moduleToolingCflags string
var ccCmd string
tidy := flags.tidy && flags.clang
coverage := flags.coverage
@@ -342,9 +361,11 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
case ".c":
ccCmd = "gcc"
moduleCflags = cflags
+ moduleToolingCflags = toolingCflags
case ".cpp", ".cc", ".mm":
ccCmd = "g++"
moduleCflags = cppflags
+ moduleToolingCflags = toolingCppflags
default:
ctx.ModuleErrorf("File %s has unknown extension", srcFile)
continue
@@ -402,7 +423,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
// support exporting dependencies.
Implicit: objFile,
Args: map[string]string{
- "cFlags": moduleCflags,
+ "cFlags": moduleToolingCflags,
"tidyFlags": flags.tidyFlags,
},
})
@@ -419,7 +440,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
Input: srcFile,
Implicit: objFile,
Args: map[string]string{
- "cFlags": moduleCflags,
+ "cFlags": moduleToolingCflags,
"exportDirs": flags.sAbiFlags,
},
})