Allow platform modules to link to vendor public libraries
Normally, when building with VNDK, platform modules are not allowed to link against vendor libraries, because the ABI of the vendor libraries are not guaranteed to be stable and may differ across multiple vendor images. However, the vendor public libraries are the exceptions. Vendor public libraries are vendor libraries that are exposed to 3rd party apps and listed in /vendor/etc/public.libraries.txt. Since they are intended to be exposed to public, their ABI stability is guaranteed (by definition, though it is up to the vendor to actually guarantee it). This change allows platform modules to link to vendor public libraries. When the name of a vendor public libraries (whose stub is defined via vendor_public_library in Android.bp) is listed in LOCAL_SHARED_LIBRARIES, it is actually linked to the stub library which is available to platform modules. Bug: 74275385 Test: m -j Change-Id: I063b43431196190b59332b1bcad59f267073f89f
This commit is contained in:
parent
a143397aee
commit
c3f1356a3a
1 changed files with 9 additions and 0 deletions
|
@ -1330,6 +1330,15 @@ ifneq ($(LOCAL_USE_VNDK),)
|
|||
endif
|
||||
endif
|
||||
|
||||
# Platform can use vendor public libraries. If a required shared lib is one of
|
||||
# the vendor public libraries, the lib is switched to the stub version of the lib.
|
||||
ifeq ($(LOCAL_USE_VNDK),)
|
||||
ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
|
||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||
$(if $(filter $(l),$(VENDOR_PUBLIC_LIBRARIES)),$(l).vendorpublic,$(l)))
|
||||
endif
|
||||
endif
|
||||
|
||||
##########################################################
|
||||
## Set up installed module dependency
|
||||
## We cannot compute the full path of the LOCAL_SHARED_LIBRARIES for
|
||||
|
|
Loading…
Reference in a new issue