From 43ef264b3a3a8ae634c52b6e200f79c5940bb2d8 Mon Sep 17 00:00:00 2001 From: Jae Shin Date: Fri, 29 Dec 2017 16:20:21 +0900 Subject: [PATCH] Add target_arch to vndk prebuilt module name To distinguish libfoo.vndk.$VER prebuilts of various vndk_v$VER_$ARCH phony package modules, append $ARCH to the LOCAL_MODULE name for VNDK prebuilts. e.g. libfoo.vndk.$VER becomes libfoo.vndk.$VER.$ARCH Test: m -j PRODUCT_EXTRA_VNDK_VERSIONS=27 Bug: 71370248 Change-Id: I3e9ebd929111ceb48e362c500adfb4b7a94444e8 --- cc/androidmk.go | 2 +- cc/vndk_prebuilt.go | 24 +++++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/cc/androidmk.go b/cc/androidmk.go index efd4ee73d..e78c4199c 100644 --- a/cc/androidmk.go +++ b/cc/androidmk.go @@ -355,7 +355,7 @@ func (c *llndkStubDecorator) AndroidMk(ctx AndroidMkContext, ret *android.Androi func (c *vndkPrebuiltLibraryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.AndroidMkData) { ret.Class = "SHARED_LIBRARIES" - ret.SubName = vndkSuffix + c.version() + ret.SubName = c.NameSuffix() ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) { c.libraryDecorator.androidMkWriteExportedFlags(w) diff --git a/cc/vndk_prebuilt.go b/cc/vndk_prebuilt.go index 9ccab0308..b4fcb57aa 100644 --- a/cc/vndk_prebuilt.go +++ b/cc/vndk_prebuilt.go @@ -47,8 +47,11 @@ var ( // } // type vndkPrebuiltProperties struct { - // VNDK snapshot version that is formated as {SDK_ver}.{Major}.{Minor}. - Version string + // VNDK snapshot version. + Version *string + + // Target arch name of the snapshot (e.g. 'arm64' for variant 'aosp_arm64_ab') + Target_arch *string // Prebuilt files for each arch. Srcs []string `android:"arch_variant"` @@ -60,15 +63,26 @@ type vndkPrebuiltLibraryDecorator struct { } func (p *vndkPrebuiltLibraryDecorator) Name(name string) string { - return name + vndkSuffix + p.version() + return name + p.NameSuffix() +} + +func (p *vndkPrebuiltLibraryDecorator) NameSuffix() string { + if p.arch() != "" { + return vndkSuffix + p.version() + "." + p.arch() + } + return vndkSuffix + p.version() } func (p *vndkPrebuiltLibraryDecorator) version() string { - return p.properties.Version + return String(p.properties.Version) +} + +func (p *vndkPrebuiltLibraryDecorator) arch() string { + return String(p.properties.Target_arch) } func (p *vndkPrebuiltLibraryDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags { - p.libraryDecorator.libName = strings.TrimSuffix(ctx.ModuleName(), vndkSuffix+p.version()) + p.libraryDecorator.libName = strings.TrimSuffix(ctx.ModuleName(), p.NameSuffix()) return p.libraryDecorator.linkerFlags(ctx, flags) }