summaryrefslogtreecommitdiff
path: root/android/sdk.go
diff options
context:
space:
mode:
Diffstat (limited to 'android/sdk.go')
-rw-r--r--android/sdk.go21
1 files changed, 20 insertions, 1 deletions
diff --git a/android/sdk.go b/android/sdk.go
index f28c39215..969e21adb 100644
--- a/android/sdk.go
+++ b/android/sdk.go
@@ -448,10 +448,29 @@ func RegisterSdkMemberType(memberType SdkMemberType) {
// Base structure for all implementations of SdkMemberProperties.
//
-// Contains common properties that apply across many different member types.
+// Contains common properties that apply across many different member types. These
+// are not affected by the optimization to extract common values.
type SdkMemberPropertiesBase struct {
// The setting to use for the compile_multilib property.
Compile_multilib string
+
+ // The number of unique os types supported by the member variants.
+ Os_count int
+
+ // The os type for which these properties refer.
+ Os OsType
+}
+
+// The os prefix to use for any file paths in the sdk.
+//
+// Is an empty string if the member only provides variants for a single os type, otherwise
+// is the OsType.Name.
+func (b *SdkMemberPropertiesBase) OsPrefix() string {
+ if b.Os_count == 1 {
+ return ""
+ } else {
+ return b.Os.Name
+ }
}
func (b *SdkMemberPropertiesBase) Base() *SdkMemberPropertiesBase {