From d92090fb2980a6b902a259663d089fbbfbef4f2b Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Wed, 8 Jan 2020 14:32:28 -0800 Subject: [PATCH 1/2] Emit LOCAL_CHECK_SAME_VNDK_VARIANTS If a VNDK library does not require using different core and vendor variants, emit LOCAL_CHECK_SAME_VNDK_VARIANTS so that the two variants can be checked for identicalness. Bug: 145157349 Test: With the corresponding change in build/make, remove libbinder from build/soong/cc/config/vndk.go and check a build fails even without TARGET_VNDK_USE_CORE_VARIANT set. Change-Id: I7698edf9a24b0df150c0e4f7d8dd4926f053eee8 --- cc/androidmk.go | 3 +++ cc/library.go | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cc/androidmk.go b/cc/androidmk.go index ff88091d5..c9cd01c79 100644 --- a/cc/androidmk.go +++ b/cc/androidmk.go @@ -217,6 +217,9 @@ func (library *libraryDecorator) AndroidMk(ctx AndroidMkContext, ret *android.An fmt.Fprintln(w, "LOCAL_NO_NOTICE_FILE := true") fmt.Fprintln(w, "LOCAL_VNDK_DEPEND_ON_CORE_VARIANT := true") } + if library.checkSameCoreVariant { + fmt.Fprintln(w, "LOCAL_CHECK_SAME_VNDK_VARIANTS := true") + } }) if library.shared() && !library.buildStubs() { diff --git a/cc/library.go b/cc/library.go index ae95bc5c6..f29c4d0ce 100644 --- a/cc/library.go +++ b/cc/library.go @@ -385,7 +385,8 @@ type libraryDecorator struct { // If useCoreVariant is true, the vendor variant of a VNDK library is // not installed. - useCoreVariant bool + useCoreVariant bool + checkSameCoreVariant bool // Decorated interafaces *baseCompiler @@ -1096,8 +1097,11 @@ func (library *libraryDecorator) install(ctx ModuleContext, file android.Path) { if ctx.isVndkSp() { library.baseInstaller.subDir = "vndk-sp" } else if ctx.isVndk() { - if ctx.DeviceConfig().VndkUseCoreVariant() && !ctx.mustUseVendorVariant() { - library.useCoreVariant = true + if !ctx.mustUseVendorVariant() { + library.checkSameCoreVariant = true + if ctx.DeviceConfig().VndkUseCoreVariant() { + library.useCoreVariant = true + } } library.baseInstaller.subDir = "vndk" } From 8c38ecba01695319489d94db8ba143f07c5f7999 Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Fri, 10 Jan 2020 21:01:18 -0800 Subject: [PATCH 2/2] vndkMustUseVendorVariant += libstagefright_bufferpool@2.0 Bug: 145157349 Test: Build success Change-Id: Ic5f1699d034715545c53a8842ef14692f2017706 --- cc/config/vndk.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cc/config/vndk.go b/cc/config/vndk.go index 9feb5a3c5..f78e1b932 100644 --- a/cc/config/vndk.go +++ b/cc/config/vndk.go @@ -131,6 +131,7 @@ var VndkMustUseVendorVariantList = []string{ "libsqlite", "libssl", "libstagefright_amrnb_common", + "libstagefright_bufferpool@2.0", "libstagefright_bufferqueue_helper", "libstagefright_enc_common", "libstagefright_flacdec",