link type of recovery variant of a vendor module should not be native:vendor
This CL fixes a bug that when a module is configured as 'vendor: true' &&
'recovery_available: true', the link type of the recovery variant of the
module is incorrectly set to 'native:vendor'. This was because,
androidmk.go emits 'LOCAL_PROPRIETARY_MODULE := true' whenever
Proprietary property is set to true, regardless of whether it is a
recovery variant or not. This in turn makes LOCAL_USE_VNDK := true for
the module which in turn causes the link type to be 'native:vendor'.
Fixing the bug by resetting the properties like Proprietary, Vendor,
Soc_specific, etc. for the recovery variants.
Bug: 113277544
Test: m -j (test added)
Change-Id: I5d6ae76e46ef8fcd9204d386d0809862a7b0ff7e
diff --git a/android/module.go b/android/module.go
index a058199..77765f1 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1067,6 +1067,16 @@
return a.kind == productServicesSpecificModule
}
+// Makes this module a platform module, i.e. not specific to soc, device,
+// product, or product_services.
+func (a *ModuleBase) MakeAsPlatform() {
+ a.commonProperties.Vendor = boolPtr(false)
+ a.commonProperties.Proprietary = boolPtr(false)
+ a.commonProperties.Soc_specific = boolPtr(false)
+ a.commonProperties.Product_specific = boolPtr(false)
+ a.commonProperties.Product_services_specific = boolPtr(false)
+}
+
func (a *androidModuleContext) InstallInData() bool {
return a.module.InstallInData()
}