diff options
author | Dan Willemsen <dwillemsen@google.com> | 2016-05-19 16:58:46 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2016-05-20 00:19:14 -0700 |
commit | 558e517ae99d018305a45da6f46ee2a53f47c928 (patch) | |
tree | 5751bde31417be4b7844ed772c4bf8d042ec3a1f /cc | |
parent | d87145fe0560f8a5f6a1b5d0e90c8dde30ee66cb (diff) | |
download | build_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.go | 28 |
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()) } |