Merge "Add android_sdk_repo_host to build platform-tools&build-tools"

This commit is contained in:
Treehugger Robot
2021-10-15 02:04:45 +00:00
committed by Gerrit Code Review
15 changed files with 586 additions and 45 deletions

View File

@@ -366,28 +366,12 @@ func init() {
exportStringStaticVariable("CLANG_DEFAULT_VERSION", ClangDefaultVersion)
exportStringStaticVariable("CLANG_DEFAULT_SHORT_VERSION", ClangDefaultShortVersion)
pctx.SourcePathVariable("ClangDefaultBase", ClangDefaultBase)
pctx.VariableFunc("ClangBase", func(ctx android.PackageVarContext) string {
if override := ctx.Config().Getenv("LLVM_PREBUILTS_BASE"); override != "" {
return override
}
return "${ClangDefaultBase}"
})
pctx.VariableFunc("ClangVersion", func(ctx android.PackageVarContext) string {
if override := ctx.Config().Getenv("LLVM_PREBUILTS_VERSION"); override != "" {
return override
}
return ClangDefaultVersion
})
pctx.StaticVariableWithEnvOverride("ClangBase", "LLVM_PREBUILTS_BASE", ClangDefaultBase)
pctx.StaticVariableWithEnvOverride("ClangVersion", "LLVM_PREBUILTS_VERSION", ClangDefaultVersion)
pctx.StaticVariable("ClangPath", "${ClangBase}/${HostPrebuiltTag}/${ClangVersion}")
pctx.StaticVariable("ClangBin", "${ClangPath}/bin")
pctx.VariableFunc("ClangShortVersion", func(ctx android.PackageVarContext) string {
if override := ctx.Config().Getenv("LLVM_RELEASE_VERSION"); override != "" {
return override
}
return ClangDefaultShortVersion
})
pctx.StaticVariableWithEnvOverride("ClangShortVersion", "LLVM_RELEASE_VERSION", ClangDefaultShortVersion)
pctx.StaticVariable("ClangAsanLibDir", "${ClangBase}/linux-x86/${ClangVersion}/lib64/clang/${ClangShortVersion}/lib/linux")
// These are tied to the version of LLVM directly in external/llvm, so they might trail the host prebuilts
@@ -421,3 +405,29 @@ func init() {
}
var HostPrebuiltTag = pctx.VariableConfigMethod("HostPrebuiltTag", android.Config.PrebuiltOS)
func ClangPath(ctx android.PathContext, file string) android.SourcePath {
type clangToolKey string
key := android.NewCustomOnceKey(clangToolKey(file))
return ctx.Config().OnceSourcePath(key, func() android.SourcePath {
return clangPath(ctx).Join(ctx, file)
})
}
var clangPathKey = android.NewOnceKey("clangPath")
func clangPath(ctx android.PathContext) android.SourcePath {
return ctx.Config().OnceSourcePath(clangPathKey, func() android.SourcePath {
clangBase := ClangDefaultBase
if override := ctx.Config().Getenv("LLVM_PREBUILTS_BASE"); override != "" {
clangBase = override
}
clangVersion := ClangDefaultVersion
if override := ctx.Config().Getenv("LLVM_PREBUILTS_VERSION"); override != "" {
clangVersion = override
}
return android.PathForSource(ctx, clangBase, ctx.Config().PrebuiltOS(), clangVersion)
})
}

View File

@@ -113,6 +113,10 @@ func init() {
pctx.StaticVariable("DarwinYasmFlags", "-f macho -m amd64")
}
func MacStripPath(ctx android.PathContext) string {
return getMacTools(ctx).stripPath
}
type macPlatformTools struct {
once sync.Once
err error
@@ -125,7 +129,7 @@ type macPlatformTools struct {
var macTools = &macPlatformTools{}
func getMacTools(ctx android.PackageVarContext) *macPlatformTools {
func getMacTools(ctx android.PathContext) *macPlatformTools {
macTools.once.Do(func() {
xcrunTool := "/usr/bin/xcrun"
@@ -170,7 +174,7 @@ func getMacTools(ctx android.PackageVarContext) *macPlatformTools {
macTools.toolPath = filepath.Dir(xcrun("--find", "ld"))
})
if macTools.err != nil {
ctx.Errorf("%q", macTools.err)
android.ReportPathErrorf(ctx, "%q", macTools.err)
}
return macTools
}