From af17d74a1af636c752330a2cde509b4f9f60337f Mon Sep 17 00:00:00 2001 From: Hsin-Yi Chen Date: Mon, 29 Jul 2019 17:46:59 +0800 Subject: [PATCH] Skip ABI checks for APEX variants of opt-in libraries Test: make findlsdumps Bug: 138219814 Change-Id: I2ae6fadad5af4f7b648aa15307a0bd11339ffc7c --- cc/cc.go | 17 +++-------------- cc/library.go | 22 ++++++++++++++++++---- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/cc/cc.go b/cc/cc.go index cc2e65faf..e96fba699 100644 --- a/cc/cc.go +++ b/cc/cc.go @@ -267,7 +267,7 @@ type ModuleContextIntf interface { isVndkSp() bool isVndkExt() bool inRecovery() bool - shouldCreateVndkSourceAbiDump(config android.Config) bool + shouldCreateSourceAbiDump() bool selectedStl() string baseModuleName() string getVndkExtendsModuleName() string @@ -789,7 +789,7 @@ func (ctx *moduleContextImpl) inRecovery() bool { } // Check whether ABI dumps should be created for this module. -func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump(config android.Config) bool { +func (ctx *moduleContextImpl) shouldCreateSourceAbiDump() bool { if ctx.ctx.Config().IsEnvTrue("SKIP_ABI_CHECKS") { return false } @@ -815,18 +815,7 @@ func (ctx *moduleContextImpl) shouldCreateVndkSourceAbiDump(config android.Confi // Stubs do not need ABI dumps. return false } - if ctx.isNdk() { - return true - } - if ctx.isLlndkPublic(config) { - return true - } - if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate(config) { - // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext and this is not - // VNDK-private. - return true - } - return false + return true } func (ctx *moduleContextImpl) selectedStl() string { diff --git a/cc/library.go b/cc/library.go index 2b7c9a135..b193ab700 100644 --- a/cc/library.go +++ b/cc/library.go @@ -432,11 +432,25 @@ func (library *libraryDecorator) compilerFlags(ctx ModuleContext, flags Flags, d return flags } -func (library *libraryDecorator) shouldCreateVndkSourceAbiDump(ctx ModuleContext) bool { +func (library *libraryDecorator) shouldCreateSourceAbiDump(ctx ModuleContext) bool { + if !ctx.shouldCreateSourceAbiDump() { + return false + } if library.Properties.Header_abi_checker.Enabled != nil { return Bool(library.Properties.Header_abi_checker.Enabled) } - return ctx.shouldCreateVndkSourceAbiDump(ctx.Config()) + if ctx.isNdk() { + return true + } + if ctx.isLlndkPublic(ctx.Config()) { + return true + } + if ctx.useVndk() && ctx.isVndk() && !ctx.isVndkPrivate(ctx.Config()) { + // Return true if this is VNDK-core, VNDK-SP, or VNDK-Ext, and not + // VNDK-private. + return true + } + return false } func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects { @@ -458,7 +472,7 @@ func (library *libraryDecorator) compile(ctx ModuleContext, flags Flags, deps Pa } return Objects{} } - if library.shouldCreateVndkSourceAbiDump(ctx) || library.sabi.Properties.CreateSAbiDumps { + if library.shouldCreateSourceAbiDump(ctx) || library.sabi.Properties.CreateSAbiDumps { exportIncludeDirs := library.flagExporter.exportedIncludes(ctx) var SourceAbiFlags []string for _, dir := range exportIncludeDirs.Strings() { @@ -822,7 +836,7 @@ func getRefAbiDumpFile(ctx ModuleContext, vndkVersion, fileName string) android. } func (library *libraryDecorator) linkSAbiDumpFiles(ctx ModuleContext, objs Objects, fileName string, soFile android.Path) { - if library.shouldCreateVndkSourceAbiDump(ctx) { + if library.shouldCreateSourceAbiDump(ctx) { vndkVersion := ctx.DeviceConfig().PlatformVndkVersion() if ver := ctx.DeviceConfig().VndkVersion(); ver != "" && ver != "current" { vndkVersion = ver