Remove obsolete llndk_library
Remove llndk_library in favor of cc_library with llndk.symbol_file.
Bug: 170784825
Test: m checkbuild
Test: TestLlndkLibrary
Change-Id: I43580976589a7a2a176d7442be53fa043c0c8324
diff --git a/apex/apex_test.go b/apex/apex_test.go
index c2378fc..956b8d9 100644
--- a/apex/apex_test.go
+++ b/apex/apex_test.go
@@ -1355,12 +1355,9 @@
system_shared_libs: [],
stl: "none",
stubs: { versions: ["29","30"] },
- llndk_stubs: "libbar.llndk",
- }
-
- llndk_library {
- name: "libbar.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libbar.map.txt",
+ }
}
`,
setUseVendorAllowListForTest([]string{"myapex"}),
diff --git a/cc/androidmk.go b/cc/androidmk.go
index 8f3a652..70b5259 100644
--- a/cc/androidmk.go
+++ b/cc/androidmk.go
@@ -485,12 +485,6 @@
})
}
-func (c *llndkStubDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
- // Don't write anything for an llndk_library module, the vendor variant of the cc_library
- // module will write the Android.mk entries.
- entries.Disabled = true
-}
-
func (c *vndkPrebuiltLibraryDecorator) AndroidMkEntries(ctx AndroidMkContext, entries *android.AndroidMkEntries) {
entries.Class = "SHARED_LIBRARIES"
diff --git a/cc/cc.go b/cc/cc.go
index c35f628..3ba5366 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1121,13 +1121,6 @@
return c.VendorProperties.IsLLNDK && !c.VendorProperties.IsVNDKPrivate
}
-func (c *Module) IsLlndkLibrary() bool {
- if _, ok := c.linker.(*llndkStubDecorator); ok {
- return true
- }
- return false
-}
-
func (m *Module) NeedsLlndkVariants() bool {
lib := moduleLibraryInterface(m)
return lib != nil && (lib.hasLLNDKStubs() || lib.hasLLNDKHeaders())
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 49fffc9..e9daf33 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -548,13 +548,10 @@
cc_library {
name: "libllndk",
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
- export_llndk_headers: ["libllndk_headers"],
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ export_llndk_headers: ["libllndk_headers"],
+ }
}
cc_library_headers {
@@ -897,13 +894,10 @@
cc_library {
name: "libllndk",
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
- export_llndk_headers: ["libllndk_headers"],
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ export_llndk_headers: ["libllndk_headers"],
+ }
}
cc_library_headers {
@@ -1170,12 +1164,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libdoubleloadable"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1193,12 +1184,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libvndksp"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1255,12 +1243,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libcoreonly"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1283,12 +1268,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libnondoubleloadable"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1307,12 +1289,9 @@
name: "libllndk",
no_libcrt: true,
shared_libs: ["libnondoubleloadable"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1326,12 +1305,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libcoreonly"],
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
@@ -1357,11 +1333,9 @@
cc_library {
name: "libllndk",
shared_libs: ["libnondoubleloadable"],
- llndk_stubs: "libllndk.llndk",
- }
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
name: "libnondoubleloadable",
@@ -1388,11 +1362,6 @@
shared_libs: ["libanothervndksp"],
}
- llndk_library {
- name: "libllndk",
- symbol_file: "",
- }
-
cc_library {
name: "libanothervndksp",
vendor_available: true,
@@ -2158,11 +2127,9 @@
bp := `
cc_library {
name: "libllndk",
- llndk_stubs: "libllndk.llndk",
- }
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
name: "libvndk",
@@ -2436,20 +2403,16 @@
}
cc_library {
name: "libllndk",
- llndk_stubs: "libllndk.llndk",
- }
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ }
}
cc_library {
name: "libllndkprivate",
- llndk_stubs: "libllndkprivate.llndk",
- }
- llndk_library {
- name: "libllndkprivate.llndk",
- private: true,
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndkprivate.map.txt",
+ private: true,
+ }
}
llndk_libraries_txt {
@@ -2769,68 +2732,6 @@
}
func TestLlndkLibrary(t *testing.T) {
- ctx := testCc(t, `
- cc_library {
- name: "libllndk",
- stubs: { versions: ["1", "2"] },
- llndk_stubs: "libllndk.llndk",
- }
- llndk_library {
- name: "libllndk.llndk",
- }
-
- cc_prebuilt_library_shared {
- name: "libllndkprebuilt",
- stubs: { versions: ["1", "2"] },
- llndk_stubs: "libllndkprebuilt.llndk",
- }
- llndk_library {
- name: "libllndkprebuilt.llndk",
- }
-
- cc_library {
- name: "libllndk_with_external_headers",
- stubs: { versions: ["1", "2"] },
- llndk_stubs: "libllndk_with_external_headers.llndk",
- header_libs: ["libexternal_headers"],
- export_header_lib_headers: ["libexternal_headers"],
- }
- llndk_library {
- name: "libllndk_with_external_headers.llndk",
- }
- cc_library_headers {
- name: "libexternal_headers",
- export_include_dirs: ["include"],
- vendor_available: true,
- }
- `)
- actual := ctx.ModuleVariantsForTests("libllndk")
- for i := 0; i < len(actual); i++ {
- if !strings.HasPrefix(actual[i], "android_vendor.29_") {
- actual = append(actual[:i], actual[i+1:]...)
- i--
- }
- }
- expected := []string{
- "android_vendor.29_arm64_armv8-a_shared_1",
- "android_vendor.29_arm64_armv8-a_shared_2",
- "android_vendor.29_arm64_armv8-a_shared_current",
- "android_vendor.29_arm64_armv8-a_shared",
- "android_vendor.29_arm_armv7-a-neon_shared_1",
- "android_vendor.29_arm_armv7-a-neon_shared_2",
- "android_vendor.29_arm_armv7-a-neon_shared_current",
- "android_vendor.29_arm_armv7-a-neon_shared",
- }
- checkEquals(t, "variants for llndk stubs", expected, actual)
-
- params := ctx.ModuleForTests("libllndk", "android_vendor.29_arm_armv7-a-neon_shared").Description("generate stub")
- checkEquals(t, "use VNDK version for default stubs", "current", params.Args["apiLevel"])
-
- params = ctx.ModuleForTests("libllndk", "android_vendor.29_arm_armv7-a-neon_shared_1").Description("generate stub")
- checkEquals(t, "override apiLevel for versioned stubs", "1", params.Args["apiLevel"])
-}
-
-func TestEmbeddedLlndkLibrary(t *testing.T) {
result := prepareForCcTest.RunTestWithBp(t, `
cc_library {
name: "libllndk",
diff --git a/cc/image.go b/cc/image.go
index 66b02d9..5593afc 100644
--- a/cc/image.go
+++ b/cc/image.go
@@ -437,15 +437,11 @@
productVndkVersion = platformVndkVersion
}
- if m.IsLlndkLibrary() || m.NeedsLlndkVariants() {
+ if m.NeedsLlndkVariants() {
// This is an LLNDK library. The implementation of the library will be on /system,
// and vendor and product variants will be created with LLNDK stubs.
// The LLNDK libraries need vendor variants even if there is no VNDK.
- // The obsolete llndk_library and llndk_headers modules also need the vendor variants
- // so the cc_library LLNDK stubs can depend on them.
- if m.NeedsLlndkVariants() {
- coreVariantNeeded = true
- }
+ coreVariantNeeded = true
if platformVndkVersion != "" {
vendorVariants = append(vendorVariants, platformVndkVersion)
productVariants = append(productVariants, platformVndkVersion)
diff --git a/cc/library.go b/cc/library.go
index 8f2127e..b2f33a0 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -117,9 +117,6 @@
// Inject boringssl hash into the shared library. This is only intended for use by external/boringssl.
Inject_bssl_hash *bool `android:"arch_variant"`
- // If this is an LLNDK library, the name of the equivalent llndk_library module.
- Llndk_stubs *string
-
// If this is an LLNDK library, properties to describe the LLNDK stubs. Will be copied from
// the module pointed to by llndk_stubs if it is set.
Llndk llndkLibraryProperties
@@ -1674,18 +1671,10 @@
// hasLLNDKStubs returns true if this cc_library module has a variant that will build LLNDK stubs.
func (library *libraryDecorator) hasLLNDKStubs() bool {
- return library.hasVestigialLLNDKLibrary() || String(library.Properties.Llndk.Symbol_file) != ""
+ return String(library.Properties.Llndk.Symbol_file) != ""
}
-// hasVestigialLLNDKLibrary returns true if this cc_library module has a corresponding llndk_library
-// module containing properties describing the LLNDK variant.
-// TODO(b/170784825): remove this once there are no more llndk_library modules.
-func (library *libraryDecorator) hasVestigialLLNDKLibrary() bool {
- return String(library.Properties.Llndk_stubs) != ""
-}
-
-// hasLLNDKHeaders returns true if this cc_library module has a variant that provides headers
-// to a module that sets llndk.symbol_file.
+// hasLLNDKStubs returns true if this cc_library module has a variant that will build LLNDK stubs.
func (library *libraryDecorator) hasLLNDKHeaders() bool {
return Bool(library.Properties.Llndk.Llndk_headers)
}
@@ -1926,9 +1915,7 @@
isLLNDK := false
if m, ok := mctx.Module().(*Module); ok {
- // Don't count the vestigial llndk_library module as isLLNDK, it needs a static
- // variant so that a cc_library_prebuilt can depend on it.
- isLLNDK = m.IsLlndk() && !isVestigialLLNDKModule(m)
+ isLLNDK = m.IsLlndk()
}
buildStatic := library.BuildStaticVariant() && !isLLNDK
buildShared := library.BuildSharedVariant()
diff --git a/cc/linkable.go b/cc/linkable.go
index 08eface..6f6410a 100644
--- a/cc/linkable.go
+++ b/cc/linkable.go
@@ -106,9 +106,6 @@
// IsLlndkPublic returns true only for LLNDK (public) libs.
IsLlndkPublic() bool
- // IsLlndkLibrary returns true if this module is an LLNDK library module.
- IsLlndkLibrary() bool
-
// NeedsLlndkVariants returns true if this module has LLNDK stubs or provides LLNDK headers.
NeedsLlndkVariants() bool
diff --git a/cc/llndk_library.go b/cc/llndk_library.go
index 88f3118..c307410 100644
--- a/cc/llndk_library.go
+++ b/cc/llndk_library.go
@@ -14,31 +14,12 @@
package cc
-import (
- "strings"
-
- "android/soong/android"
-)
-
var (
llndkLibrarySuffix = ".llndk"
llndkHeadersSuffix = ".llndk"
)
// Holds properties to describe a stub shared library based on the provided version file.
-// The stub library will actually be built by the cc_library module that points to this
-// module with the llndk_stubs property.
-// TODO(ccross): move the properties from llndk_library modules directly into the cc_library
-// modules and remove the llndk_library modules.
-//
-// Example:
-//
-// llndk_library {
-// name: "libfoo",
-// symbol_file: "libfoo.map.txt",
-// export_include_dirs: ["include_vndk"],
-// }
-//
type llndkLibraryProperties struct {
// Relative path to the symbol map.
// An example file can be seen here: TODO(danalbert): Make an example.
@@ -74,98 +55,3 @@
// llndk.symbol_file.
Llndk_headers *bool
}
-
-type llndkStubDecorator struct {
- *libraryDecorator
-
- Properties llndkLibraryProperties
-}
-
-var _ versionedInterface = (*llndkStubDecorator)(nil)
-
-func (stub *llndkStubDecorator) compilerFlags(ctx ModuleContext, flags Flags, deps PathDeps) Flags {
- return flags
-}
-
-func (stub *llndkStubDecorator) compile(ctx ModuleContext, flags Flags, deps PathDeps) Objects {
- return Objects{}
-}
-
-func (stub *llndkStubDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
- return deps
-}
-
-func (stub *llndkStubDecorator) Name(name string) string {
- if strings.HasSuffix(name, llndkLibrarySuffix) {
- return name
- }
- return name + llndkLibrarySuffix
-}
-
-func (stub *llndkStubDecorator) linkerProps() []interface{} {
- props := stub.libraryDecorator.linkerProps()
- return append(props, &stub.Properties)
-}
-
-func (stub *llndkStubDecorator) linkerFlags(ctx ModuleContext, flags Flags) Flags {
- stub.libraryDecorator.libName = stub.implementationModuleName(ctx.ModuleName())
- return stub.libraryDecorator.linkerFlags(ctx, flags)
-}
-
-func (stub *llndkStubDecorator) link(ctx ModuleContext, flags Flags, deps PathDeps,
- objs Objects) android.Path {
- return nil
-}
-
-func (stub *llndkStubDecorator) nativeCoverage() bool {
- return false
-}
-
-func (stub *llndkStubDecorator) implementationModuleName(name string) string {
- return strings.TrimSuffix(name, llndkLibrarySuffix)
-}
-
-func (stub *llndkStubDecorator) buildStubs() bool {
- return true
-}
-
-func NewLLndkStubLibrary() *Module {
- module, library := NewLibrary(android.DeviceSupported)
- module.stl = nil
- module.sanitize = nil
- library.disableStripping()
-
- stub := &llndkStubDecorator{
- libraryDecorator: library,
- }
- module.compiler = stub
- module.linker = stub
- module.installer = nil
- module.library = stub
-
- return module
-}
-
-// llndk_library creates a stub llndk shared library based on the provided
-// version file. Example:
-//
-// llndk_library {
-// name: "libfoo",
-// symbol_file: "libfoo.map.txt",
-// export_include_dirs: ["include_vndk"],
-// }
-func LlndkLibraryFactory() android.Module {
- module := NewLLndkStubLibrary()
- return module.Init()
-}
-
-// isVestigialLLNDKModule returns true if m is a vestigial llndk_library module used to provide
-// properties to the LLNDK variant of a cc_library.
-func isVestigialLLNDKModule(m *Module) bool {
- _, ok := m.linker.(*llndkStubDecorator)
- return ok
-}
-
-func init() {
- android.RegisterModuleType("llndk_library", LlndkLibraryFactory)
-}
diff --git a/cc/stub_library.go b/cc/stub_library.go
index 81c8be7..1722c80 100644
--- a/cc/stub_library.go
+++ b/cc/stub_library.go
@@ -31,20 +31,7 @@
// Check if the module defines stub, or itself is stub
func IsStubTarget(m *Module) bool {
- if m.IsStubs() || m.HasStubsVariants() {
- return true
- }
-
- // Library which defines LLNDK Stub is also Stub target.
- // Pure LLNDK Stub target would not contain any packaging
- // with target file path.
- if library, ok := m.linker.(*libraryDecorator); ok {
- if library.Properties.Llndk_stubs != nil {
- return true
- }
- }
-
- return false
+ return m.IsStubs() || m.HasStubsVariants()
}
// Get target file name to be installed from this module
diff --git a/cc/testing.go b/cc/testing.go
index bf89f62..ca6a0fa 100644
--- a/cc/testing.go
+++ b/cc/testing.go
@@ -27,7 +27,6 @@
RegisterLibraryHeadersBuildComponents(ctx)
ctx.RegisterModuleType("toolchain_library", ToolchainLibraryFactory)
- ctx.RegisterModuleType("llndk_library", LlndkLibraryFactory)
ctx.RegisterModuleType("cc_benchmark", BenchmarkFactory)
ctx.RegisterModuleType("cc_object", ObjectFactory)
ctx.RegisterModuleType("cc_genrule", genRuleFactory)
@@ -200,12 +199,9 @@
stubs: {
versions: ["27", "28", "29"],
},
- llndk_stubs: "libc.llndk",
- }
- llndk_library {
- name: "libc.llndk",
- symbol_file: "",
- sdk_version: "current",
+ llndk: {
+ symbol_file: "libc.map.txt",
+ },
}
cc_library {
name: "libm",
@@ -222,12 +218,9 @@
"//apex_available:platform",
"myapex"
],
- llndk_stubs: "libm.llndk",
- }
- llndk_library {
- name: "libm.llndk",
- symbol_file: "",
- sdk_version: "current",
+ llndk: {
+ symbol_file: "libm.map.txt",
+ },
}
// Coverage libraries
@@ -289,12 +282,9 @@
"//apex_available:platform",
"myapex"
],
- llndk_stubs: "libdl.llndk",
- }
- llndk_library {
- name: "libdl.llndk",
- symbol_file: "",
- sdk_version: "current",
+ llndk: {
+ symbol_file: "libdl.map.txt",
+ },
}
cc_library {
name: "libft2",
@@ -302,13 +292,10 @@
nocrt: true,
system_shared_libs: [],
recovery_available: true,
- llndk_stubs: "libft2.llndk",
- }
- llndk_library {
- name: "libft2.llndk",
- symbol_file: "",
- private: true,
- sdk_version: "current",
+ llndk: {
+ symbol_file: "libft2.map.txt",
+ private: true,
+ }
}
cc_library {
name: "libc++_static",
diff --git a/cc/vendor_snapshot.go b/cc/vendor_snapshot.go
index c0082fb..9ad51ad 100644
--- a/cc/vendor_snapshot.go
+++ b/cc/vendor_snapshot.go
@@ -184,9 +184,6 @@
if m.IsLlndk() {
return false
}
- if _, ok := m.linker.(*llndkStubDecorator); ok {
- return false
- }
// Libraries
if l, ok := m.linker.(snapshotLibraryInterface); ok {
diff --git a/cc/vendor_snapshot_test.go b/cc/vendor_snapshot_test.go
index 66396f7..fddd72a 100644
--- a/cc/vendor_snapshot_test.go
+++ b/cc/vendor_snapshot_test.go
@@ -78,14 +78,12 @@
cc_library {
name: "libllndk",
- llndk_stubs: "libllndk.llndk",
- }
-
- llndk_library {
- name: "libllndk.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "libllndk.map.txt",
+ },
}
`
+
config := TestConfig(t.TempDir(), android.Android, nil, bp, nil)
config.TestProductVariables.DeviceVndkVersion = StringPtr("current")
config.TestProductVariables.Platform_vndk_version = StringPtr("29")
diff --git a/cc/vndk.go b/cc/vndk.go
index e224e66..8b3788b 100644
--- a/cc/vndk.go
+++ b/cc/vndk.go
@@ -233,11 +233,11 @@
type moduleListerFunc func(ctx android.SingletonContext) (moduleNames, fileNames []string)
var (
- llndkLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsLLNDK && !isVestigialLLNDKModule(m) && !m.Header() })
+ llndkLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsLLNDK && !m.Header() })
llndkLibrariesWithoutHWASAN = vndkModuleListRemover(llndkLibraries, "libclang_rt.hwasan-")
vndkSPLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKSP })
vndkCoreLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKCore })
- vndkPrivateLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKPrivate && !isVestigialLLNDKModule(m) })
+ vndkPrivateLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKPrivate })
vndkProductLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKProduct })
vndkUsingCoreVariantLibraries = vndkModuleLister(func(m *Module) bool { return m.VendorProperties.IsVNDKUsingCoreVariant })
)
@@ -298,15 +298,6 @@
})
}
-func processLlndkLibrary(mctx android.BottomUpMutatorContext, m *Module) {
- lib := m.linker.(*llndkStubDecorator)
-
- m.VendorProperties.IsLLNDK = true
- if Bool(lib.Properties.Private) {
- m.VendorProperties.IsVNDKPrivate = true
- }
-}
-
func processVndkLibrary(mctx android.BottomUpMutatorContext, m *Module) {
if m.InProduct() {
// We may skip the steps for the product variants because they
@@ -402,41 +393,14 @@
return
}
- if _, ok := m.linker.(*llndkStubDecorator); ok {
- processLlndkLibrary(mctx, m)
- return
- }
-
- // This is a temporary measure to copy the properties from an llndk_library into the cc_library
- // that will actually build the stubs. It will be removed once the properties are moved into
- // the cc_library in the Android.bp files.
- mergeLLNDKToLib := func(llndk *Module, llndkProperties *llndkLibraryProperties, flagExporter *flagExporter) {
- if llndkLib := moduleLibraryInterface(llndk); llndkLib != nil {
- *llndkProperties = llndkLib.(*llndkStubDecorator).Properties
- flagExporter.Properties = llndkLib.(*llndkStubDecorator).flagExporter.Properties
-
- m.VendorProperties.IsLLNDK = llndk.VendorProperties.IsLLNDK
- m.VendorProperties.IsVNDKPrivate = llndk.VendorProperties.IsVNDKPrivate
- }
- }
-
lib, isLib := m.linker.(*libraryDecorator)
prebuiltLib, isPrebuiltLib := m.linker.(*prebuiltLibraryLinker)
- if m.UseVndk() && isLib && lib.hasVestigialLLNDKLibrary() {
- llndk := mctx.AddVariationDependencies(nil, llndkStubDepTag, String(lib.Properties.Llndk_stubs))
- mergeLLNDKToLib(llndk[0].(*Module), &lib.Properties.Llndk, &lib.flagExporter)
- }
- if m.UseVndk() && isPrebuiltLib && prebuiltLib.hasVestigialLLNDKLibrary() {
- llndk := mctx.AddVariationDependencies(nil, llndkStubDepTag, String(prebuiltLib.Properties.Llndk_stubs))
- mergeLLNDKToLib(llndk[0].(*Module), &prebuiltLib.Properties.Llndk, &prebuiltLib.flagExporter)
- }
-
- if m.UseVndk() && isLib && lib.hasLLNDKStubs() && !lib.hasVestigialLLNDKLibrary() {
+ if m.UseVndk() && isLib && lib.hasLLNDKStubs() {
m.VendorProperties.IsLLNDK = true
m.VendorProperties.IsVNDKPrivate = Bool(lib.Properties.Llndk.Private)
}
- if m.UseVndk() && isPrebuiltLib && prebuiltLib.hasLLNDKStubs() && !prebuiltLib.hasVestigialLLNDKLibrary() {
+ if m.UseVndk() && isPrebuiltLib && prebuiltLib.hasLLNDKStubs() {
m.VendorProperties.IsLLNDK = true
m.VendorProperties.IsVNDKPrivate = Bool(prebuiltLib.Properties.Llndk.Private)
}
@@ -874,9 +838,6 @@
if prebuilt, ok := m.linker.(*prebuiltLibraryLinker); ok {
return prebuilt.libraryDecorator.getLibNameHelper(m.BaseModuleName(), true, false) + ".so", nil
}
- if library, ok := m.linker.(*llndkStubDecorator); ok {
- return library.getLibNameHelper(m.BaseModuleName(), true, false) + ".so", nil
- }
return "", fmt.Errorf("VNDK library should have libraryDecorator or prebuiltLibraryLinker as linker: %T", m.linker)
}
diff --git a/rust/rust.go b/rust/rust.go
index 74d2828..3dcd459 100644
--- a/rust/rust.go
+++ b/rust/rust.go
@@ -262,10 +262,6 @@
return false
}
-func (m *Module) IsLlndkLibrary() bool {
- return false
-}
-
func (mod *Module) KernelHeadersDecorator() bool {
return false
}
diff --git a/sysprop/sysprop_test.go b/sysprop/sysprop_test.go
index 6d35f9c..f935f06 100644
--- a/sysprop/sysprop_test.go
+++ b/sysprop/sysprop_test.go
@@ -52,12 +52,9 @@
system_shared_libs: [],
recovery_available: true,
host_supported: true,
- llndk_stubs: "liblog.llndk",
- }
-
- llndk_library {
- name: "liblog.llndk",
- symbol_file: "",
+ llndk: {
+ symbol_file: "liblog.map.txt",
+ }
}
java_library {