Migrate to versioned VNDK layout

Bug: 78605339
Test: aosp_sailfish-userdebug builds and boots
Test: sailfish + GSI boots
Change-Id: I929ad41a834589a37c67515b65c4973db033c4fd
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 7a8cedf..e1b0ca0 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -107,3 +107,6 @@
 
 # Remove android.hardware.audio*@2.0 implementation
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/lib/hw/android.hardware.audio*@2.0-impl.so)
+
+# Migrate to versioned VNDK directory layout
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk-sp)
diff --git a/vndk/Android.mk b/vndk/Android.mk
index 2fcf590..762a8a2 100644
--- a/vndk/Android.mk
+++ b/vndk/Android.mk
@@ -18,6 +18,8 @@
 install_in_hw_dir := \
    android.hidl.memory@1.0-impl
 
+vndk_sp_dir := vndk-sp-$(PLATFORM_VNDK_VERSION)
+
 define define-vndk-sp-lib
 include $$(CLEAR_VARS)
 LOCAL_MODULE := $1.vndk-sp-gen
@@ -28,7 +30,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_INSTALLED_MODULE_STEM := $1.so
 LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := vndk-sp$(if $(filter $1,$(install_in_hw_dir)),/hw)
+LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir)$(if $(filter $1,$(install_in_hw_dir)),/hw)
 include $$(BUILD_PREBUILT)
 
 ifneq ($$(TARGET_2ND_ARCH),)
@@ -42,7 +44,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_INSTALLED_MODULE_STEM := $1.so
 LOCAL_MODULE_SUFFIX := .so
-LOCAL_MODULE_RELATIVE_PATH := vndk-sp$(if $(filter $1,$(install_in_hw_dir)),/hw)
+LOCAL_MODULE_RELATIVE_PATH := $(vndk_sp_dir)$(if $(filter $1,$(install_in_hw_dir)),/hw)
 include $$(BUILD_PREBUILT)
 endif # TARGET_TRANSLATE_2ND_ARCH is not true
 endif # TARGET_2ND_ARCH is not empty