From d733d161cfd7b73e3d3087ca086abb646790fd1b Mon Sep 17 00:00:00 2001
From: Jeff Vander Stoep <jeffv@google.com>
Date: Wed, 19 Oct 2016 13:55:21 -0700
Subject: [PATCH] Add macros for treble and non-treble only policy

Test: builds
Change-Id: Idd1d90a89a9ecbb2738d6b483af0e8479e87aa15
---
 Android.mk       | 4 ++++
 public/te_macros | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/Android.mk b/Android.mk
index 7bfe1a7dd..fb2a602ff 100644
--- a/Android.mk
+++ b/Android.mk
@@ -138,6 +138,7 @@ $(PLAT_PUBLIC_POLICY) $(PLAT_PRIVATE_POLICY))
 	$(hide) m4 $(PRIVATE_ADDITIONAL_M4DEFS) \
 		-D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
 		-D target_build_variant=$(TARGET_BUILD_VARIANT) \
+		-D target_build_treble=$(ENABLE_TREBLE) \
 		-s $^ > $@
 	$(hide) sed '/dontaudit/d' $@ > $@.dontaudit
 
@@ -154,6 +155,7 @@ $(PLAT_PUBLIC_POLICY) $(PLAT_PRIVATE_POLICY) $(BOARD_SEPOLICY_DIRS))
 	$(hide) m4 $(PRIVATE_ADDITIONAL_M4DEFS) \
 		-D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
 		-D target_build_variant=$(TARGET_BUILD_VARIANT) \
+		-D target_build_treble=$(ENABLE_TREBLE) \
 		-D target_arch=$(LOCAL_TARGET_ARCH) \
 		-s $^ > $@
 	$(hide) sed '/dontaudit/d' $@ > $@.dontaudit
@@ -194,6 +196,7 @@ $(PLAT_PUBLIC_POLICY) $(PLAT_PRIVATE_POLICY) $(BOARD_SEPOLICY_DIRS))
 	$(hide) m4 $(PRIVATE_ADDITIONAL_M4DEFS) \
 		-D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
 		-D target_build_variant=$(TARGET_BUILD_VARIANT) \
+		-D target_build_treble=$(ENABLE_TREBLE) \
 		-D target_recovery=true \
 		-s $^ > $@
 
@@ -229,6 +232,7 @@ $(PLAT_PUBLIC_POLICY) $(PLAT_PRIVATE_POLICY))
 	mkdir -p $(dir $@)
 	$(hide) m4 -D mls_num_sens=$(PRIVATE_MLS_SENS) -D mls_num_cats=$(PRIVATE_MLS_CATS) \
 		-D target_build_variant=user \
+		-D target_build_treble=$(ENABLE_TREBLE) \
 		-s $^ > $@
 	$(hide) sed '/dontaudit/d' $@ > $@.dontaudit
 
diff --git a/public/te_macros b/public/te_macros
index f22e00951..1c4bb4b52 100644
--- a/public/te_macros
+++ b/public/te_macros
@@ -281,6 +281,13 @@ define(`recovery_only', ifelse(target_recovery, `true', $1, ))
 define(`userdebug_or_eng', ifelse(target_build_variant, `eng', $1, ifelse(target_build_variant, `userdebug', $1)))
 define(`eng', ifelse(target_build_variant, `eng', $1))
 
+#####################################
+# Treble or non-Treble builds
+# SELinux rules which only apply to Treble or non-Treble builds
+#
+define(`treble_only', ifelse(target_build_treble, `true', $1))
+define(`non_treble_only', ifelse(target_build_treble, `', $1))
+
 #####################################
 # write_logd(domain)
 # Ability to write to android log
-- 
GitLab