Move LLNDK and NDK versionSelectorMutator special cases into versionedInterface
Implement stubsVersions on *llndkStubDecorator and *stubDecorator to
handle the special cases in versionSelectorMutator.
Test: m checkbuild
Change-Id: Idc985c52f91450df42c0275b2b2acef3f2ed8868
diff --git a/cc/llndk_library.go b/cc/llndk_library.go
index e50da9a..4425a10 100644
--- a/cc/llndk_library.go
+++ b/cc/llndk_library.go
@@ -15,6 +15,7 @@
package cc
import (
+ "fmt"
"path/filepath"
"strings"
@@ -170,6 +171,17 @@
return true
}
+func (stub *llndkStubDecorator) stubsVersions(ctx android.BaseMutatorContext) []string {
+ // Get the versions from the implementation module.
+ impls := ctx.GetDirectDepsWithTag(llndkImplDep)
+ if len(impls) > 1 {
+ panic(fmt.Errorf("Expected single implmenetation library, got %d", len(impls)))
+ } else if len(impls) == 1 {
+ return impls[0].(*Module).AllStubsVersions()
+ }
+ return nil
+}
+
func NewLLndkStubLibrary() *Module {
module, library := NewLibrary(android.DeviceSupported)
library.BuildOnlyShared()