Merge "NDK ABI diffs requires implementation" am: 046bb4b08a am: 54a38c029d

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2488215

Change-Id: I17a6b628954c7c2a9824e00b55d168d0cc08c3ea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Spandan Das
2023-03-16 18:19:45 +00:00
committed by Automerger Merge Worker

View File

@@ -2506,21 +2506,12 @@ func (c *Module) DepsMutator(actx android.BottomUpMutatorContext) {
if c.isNDKStubLibrary() {
// NDK stubs depend on their implementation because the ABI dumps are
// generated from the implementation library.
apiImportName := c.BaseModuleName() + multitree.GetApiImportSuffix()
// If original library exists as imported API, set dependency on the imported library
if actx.OtherModuleExists(apiImportName) {
actx.AddFarVariationDependencies(append(ctx.Target().Variations(),
c.ImageVariation(),
blueprint.Variation{Mutator: "link", Variation: "shared"},
), stubImplementation, apiImportName)
} else {
actx.AddFarVariationDependencies(append(ctx.Target().Variations(),
c.ImageVariation(),
blueprint.Variation{Mutator: "link", Variation: "shared"},
), stubImplementation, c.BaseModuleName())
}
}
for _, lib := range deps.WholeStaticLibs {
depTag := libraryDependencyTag{Kind: staticLibraryDependency, wholeStatic: true, reexportFlags: true}