Merge "Use armv7a-linux-androideabi for arm device triple." am: 4d693a7a27

am: ada684f304

Change-Id: I6055f1e39c3bb843b30199c8a0a58bf048203b46
This commit is contained in:
Chih-Hung Hsieh
2018-03-19 21:08:49 +00:00
committed by android-build-merger
4 changed files with 23 additions and 2 deletions

View File

@@ -283,7 +283,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
// behavior here, and the NDK always has all the NDK headers available.
flags.SystemIncludeFlags = append(flags.SystemIncludeFlags,
"-isystem "+getCurrentIncludePath(ctx).String(),
"-isystem "+getCurrentIncludePath(ctx).Join(ctx, tc.ClangTriple()).String())
"-isystem "+getCurrentIncludePath(ctx).Join(ctx, config.NDKTriple(tc)).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

View File

@@ -325,6 +325,12 @@ func (t *toolchainArm) InstructionSetFlags(isa string) (string, error) {
}
func (t *toolchainArm) ClangTriple() string {
// http://b/72619014 work around llvm LTO bug.
return "armv7a-linux-androideabi"
}
func (t *toolchainArm) ndkTriple() string {
// Use current NDK include path, while ClangTriple is changed.
return t.GccTriple()
}

View File

@@ -68,6 +68,8 @@ type Toolchain interface {
ClangLdflags() string
ClangInstructionSetFlags(string) (string, error)
ndkTriple() string
YasmFlags() string
WindresFlags() string
@@ -87,6 +89,19 @@ type Toolchain interface {
type toolchainBase struct {
}
func (t *toolchainBase) ndkTriple() string {
return ""
}
func NDKTriple(toolchain Toolchain) string {
triple := toolchain.ndkTriple()
if triple == "" {
// Use the clang triple if there is no explicit NDK triple
triple = toolchain.ClangTriple()
}
return triple
}
func (toolchainBase) InstructionSetFlags(s string) (string, error) {
if s != "" {
return "", fmt.Errorf("instruction_set: %s is not a supported instruction set", s)

View File

@@ -307,7 +307,7 @@ func makeVarsToolchain(ctx android.MakeVarsContext, secondPrefix string,
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+"NDK_TRIPLE", toolchain.ClangTriple())
ctx.Strict(makePrefix+"NDK_TRIPLE", config.NDKTriple(toolchain))
}
if target.Os.Class == android.Host || target.Os.Class == android.HostCross {