Add a new variable for deprecating VNDK

Add a new flag variable for deprecating VNDK. This variable should be
passed to Soong, so it can change behavior based on the flag.

Bug: 290157355
Test: build succeeded with KEEP_VNDK=false
Change-Id: I3a9d1041411ad24ff42f76506a8f929e364b868d
diff --git a/core/config.mk b/core/config.mk
index cbcdfbb..392e82e 100644
--- a/core/config.mk
+++ b/core/config.mk
@@ -778,6 +778,9 @@
 
 requirements :=
 
+# Set default value of KEEP_VNDK.
+KEEP_VNDK ?= true
+
 # BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED can be true only if early-mount of
 # partitions is supported. But the early-mount must be supported for full
 # treble products, and so BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED should be set
diff --git a/core/main.mk b/core/main.mk
index 5a591f9..b2d0699 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -218,6 +218,12 @@
   else
     ADDITIONAL_VENDOR_PROPERTIES := ro.vndk.version=$(BOARD_VNDK_VERSION)
   endif
+
+  # TODO(b/290159430): ro.vndk.deprecate is a temporal variable for deprecating VNDK.
+  # This variable will be removed once ro.vndk.version can be removed.
+  ifneq ($(KEEP_VNDK),true)
+    ADDITIONAL_SYSTEM_PROPERTIES += ro.vndk.deprecate=true
+  endif
 endif
 
 # Add cpu properties for bionic and ART.
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 0d5799c..831d256 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -318,6 +318,8 @@
 $(call add_json_str, ReleaseVersion,    $(_RELEASE_VERSION))
 $(call add_json_list, ReleaseAconfigValueSets,    $(RELEASE_ACONFIG_VALUE_SETS))
 
+$(call add_json_bool, KeepVndk, $(filter true,$(KEEP_VNDK)))
+
 $(call json_end)
 
 $(file >$(SOONG_VARIABLES).tmp,$(json_contents))