Define odm_available property
Define `odm_available` property for aidl_interface modules.
`odm_available` is the same as `vendor_available` except it installs
the vendor variant of the module to /odm or /vendor/odm.
Bug: 176147321
Test: build with odm_available: true for an aidl_interface module
Change-Id: I7f182db4cdbd792a299ec0ef5e4fe8f81f2c2562
diff --git a/build/aidl_interface_backends.go b/build/aidl_interface_backends.go
index f21431d..8c85c2a 100644
--- a/build/aidl_interface_backends.go
+++ b/build/aidl_interface_backends.go
@@ -126,6 +126,7 @@
}
vendorAvailable := i.properties.Vendor_available
+ odmAvailable := i.properties.Odm_available
productAvailable := i.properties.Product_available
if lang == langCpp {
// Vendor and product modules cannot use the libbinder (cpp) backend of AIDL in a
@@ -150,6 +151,7 @@
// nil (unspecified) is used instead of false so that this can't conflict with
// 'vendor: true', for instance.
vendorAvailable = nil
+ odmAvailable = nil
productAvailable = nil
overrideVndkProperties.Vndk.Enabled = proptools.BoolPtr(false)
overrideVndkProperties.Vndk.Support_system_process = proptools.BoolPtr(false)
@@ -165,6 +167,7 @@
&ccProperties{
Name: proptools.StringPtr(cppModuleGen),
Vendor_available: vendorAvailable,
+ Odm_available: odmAvailable,
Product_available: productAvailable,
Host_supported: hostSupported,
Defaults: []string{"aidl-cpp-module-defaults"},