diff --git a/core/binary.mk b/core/binary.mk index 45c247799..3e31d9a80 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -1415,9 +1415,22 @@ my_link_type := native:ndk my_warn_types := my_allowed_types := native:ndk else ifdef LOCAL_USE_VNDK -my_link_type := native:vendor -my_warn_types := -my_allowed_types := native:vendor + _name := $(patsubst %.vendor,%,$(LOCAL_MODULE)) + ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),) + ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),) + my_link_type := native:vndk + else + my_link_type := native:vndk_private + endif + my_warn_types := + my_allowed_types := native:vndk native:vndk_private + else + # Modules installed to /vendor cannot directly depend on modules marked + # with vendor_available: false + my_link_type := native:vendor + my_warn_types := + my_allowed_types := native:vendor native:vndk + endif else my_link_type := native:platform my_warn_types := diff --git a/core/install_jni_libs_internal.mk b/core/install_jni_libs_internal.mk index b5f10cfab..265d48241 100644 --- a/core/install_jni_libs_internal.mk +++ b/core/install_jni_libs_internal.mk @@ -116,7 +116,7 @@ my_allowed_types := native:ndk else my_link_type := app:platform my_warn_types := -my_allowed_types := native:ndk native:platform native:vendor +my_allowed_types := native:ndk native:platform native:vendor native:vndk native:vndk_private endif my_link_deps := $(addprefix SHARED_LIBRARIES:,$(LOCAL_JNI_SHARED_LIBRARIES)) diff --git a/core/prebuilt_internal.mk b/core/prebuilt_internal.mk index d112e864b..b79e68b7d 100644 --- a/core/prebuilt_internal.mk +++ b/core/prebuilt_internal.mk @@ -155,7 +155,16 @@ export_cflags := ifdef LOCAL_SDK_VERSION my_link_type := native:ndk else ifdef LOCAL_USE_VNDK -my_link_type := native:vendor + _name := $(patsubst %.vendor,%,$(LOCAL_MODULE)) + ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),) + ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),) + my_link_type := native:vndk + else + my_link_type := native:vndk_private + endif + else + my_link_type := native:vendor + endif else my_link_type := native:platform endif