aboutsummaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2016-05-19 16:58:46 -0700
committerDan Willemsen <dwillemsen@google.com>2016-05-20 00:19:14 -0700
commit558e517ae99d018305a45da6f46ee2a53f47c928 (patch)
tree5751bde31417be4b7844ed772c4bf8d042ec3a1f /cc
parentd87145fe0560f8a5f6a1b5d0e90c8dde30ee66cb (diff)
downloadbuild_soong-558e517ae99d018305a45da6f46ee2a53f47c928.tar.gz
build_soong-558e517ae99d018305a45da6f46ee2a53f47c928.tar.bz2
build_soong-558e517ae99d018305a45da6f46ee2a53f47c928.zip
Check more Make variables
Some more common makevars methods were required in order to remove the "-isystem" prefixes from the toolchain.IncludeFlags() value. In Make, the -isystem is prepended at time of use, not in TARGET_C_INCLUDES itself. Change-Id: If07e69ddb7357d11c7dd48ab60f503d219f29de8
Diffstat (limited to 'cc')
-rw-r--r--cc/makevars.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/cc/makevars.go b/cc/makevars.go
index cdc8bcc2..d33d7b7f 100644
--- a/cc/makevars.go
+++ b/cc/makevars.go
@@ -98,6 +98,22 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
toolchain.ToolchainLdflags(),
productExtraLdflags,
}, " "))
+ ctx.Strict(makePrefix+"SYSTEMCPP_CPPFLAGS", toolchain.SystemCppCppflags())
+ ctx.Strict(makePrefix+"SYSTEMCPP_LDFLAGS", toolchain.SystemCppLdflags())
+
+ includeFlags, err := ctx.Eval(toolchain.IncludeFlags())
+ if err != nil { panic(err) }
+ ctx.StrictRaw(makePrefix+"C_INCLUDES", strings.Replace(includeFlags, "-isystem ", "", -1))
+
+ if arch.ArchType == android.Arm {
+ flags, err := toolchain.InstructionSetFlags("arm")
+ if err != nil { panic(err) }
+ ctx.Strict(makePrefix+"arm_CFLAGS", flags)
+
+ flags, err = toolchain.InstructionSetFlags("thumb")
+ if err != nil { panic(err) }
+ ctx.Strict(makePrefix+"thumb_CFLAGS", flags)
+ }
if toolchain.ClangSupported() {
clangPrefix := secondPrefix + "CLANG_" + typePrefix
@@ -125,6 +141,14 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
productExtraLdflags,
clangExtras,
}, " "))
+
+ if hod.Device() {
+ ctx.Strict(secondPrefix + "ADDRESS_SANITIZER_RUNTIME_LIBRARY", strings.TrimSuffix(toolchain.AddressSanitizerRuntimeLibrary(), ".so"))
+ }
+
+ // This is used by external/gentoo/...
+ ctx.Strict("CLANG_CONFIG_" + arch.ArchType.Name + "_" + typePrefix + "TRIPLE",
+ toolchain.ClangTriple())
}
ctx.Strict(makePrefix+"CC", gccCmd(toolchain, "gcc"))
@@ -146,7 +170,11 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
ctx.Strict(makePrefix+"OBJCOPY", gccCmd(toolchain, "objcopy"))
ctx.Strict(makePrefix+"LD", gccCmd(toolchain, "ld"))
ctx.Strict(makePrefix+"STRIP", gccCmd(toolchain, "strip"))
+ ctx.Strict(makePrefix+"GCC_VERSION", toolchain.GccVersion())
+ ctx.Strict(makePrefix+"NDK_GCC_VERSION", toolchain.GccVersion())
}
ctx.Strict(makePrefix+"TOOLS_PREFIX", gccCmd(toolchain, ""))
+ ctx.Strict(makePrefix+"SHLIB_SUFFIX", toolchain.ShlibSuffix())
+ ctx.Strict(makePrefix+"EXECUTABLE_SUFFIX", toolchain.ExecutableSuffix())
}