Merge "Linktype check for native:product"
This commit is contained in:
@@ -800,22 +800,28 @@ ifdef LOCAL_IS_HOST_MODULE
|
|||||||
my_required_modules += $(LOCAL_REQUIRED_MODULES_$($(my_prefix)OS))
|
my_required_modules += $(LOCAL_REQUIRED_MODULES_$($(my_prefix)OS))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
###############################################################################
|
##########################################################################
|
||||||
## When compiling against the VNDK, add the .vendor suffix to required modules.
|
## When compiling against the VNDK, add the .vendor or .product suffix to
|
||||||
###############################################################################
|
## required modules.
|
||||||
|
##########################################################################
|
||||||
ifneq ($(LOCAL_USE_VNDK),)
|
ifneq ($(LOCAL_USE_VNDK),)
|
||||||
####################################################
|
#####################################################
|
||||||
## Soong modules may be built twice, once for /system
|
## Soong modules may be built three times, once for
|
||||||
## and once for /vendor. If we're using the VNDK,
|
## /system, once for /vendor and once for /product.
|
||||||
## switch all soong libraries over to the /vendor
|
## If we're using the VNDK, switch all soong
|
||||||
## variant.
|
## libraries over to the /vendor or /product variant.
|
||||||
####################################################
|
#####################################################
|
||||||
ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
|
ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
|
||||||
# We don't do this renaming for soong-defined modules since they already
|
# We don't do this renaming for soong-defined modules since they already
|
||||||
# have correct names (with .vendor suffix when necessary) in their
|
# have correct names (with .vendor or .product suffix when necessary) in
|
||||||
# LOCAL_*_LIBRARIES.
|
# their LOCAL_*_LIBRARIES.
|
||||||
my_required_modules := $(foreach l,$(my_required_modules),\
|
ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_required_modules := $(foreach l,$(my_required_modules),\
|
||||||
|
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
|
else
|
||||||
|
my_required_modules := $(foreach l,$(my_required_modules),\
|
||||||
|
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -1145,22 +1145,35 @@ endif
|
|||||||
## When compiling against the VNDK, use LL-NDK libraries
|
## When compiling against the VNDK, use LL-NDK libraries
|
||||||
###########################################################
|
###########################################################
|
||||||
ifneq ($(LOCAL_USE_VNDK),)
|
ifneq ($(LOCAL_USE_VNDK),)
|
||||||
####################################################
|
#####################################################
|
||||||
## Soong modules may be built twice, once for /system
|
## Soong modules may be built three times, once for
|
||||||
## and once for /vendor. If we're using the VNDK,
|
## /system, once for /vendor and once for /product.
|
||||||
## switch all soong libraries over to the /vendor
|
## If we're using the VNDK, switch all soong
|
||||||
## variant.
|
## libraries over to the /vendor or /product variant.
|
||||||
####################################################
|
#####################################################
|
||||||
my_whole_static_libraries := $(foreach l,$(my_whole_static_libraries),\
|
ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
$(if $(SPLIT_VENDOR.STATIC_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_whole_static_libraries := $(foreach l,$(my_whole_static_libraries),\
|
||||||
my_static_libraries := $(foreach l,$(my_static_libraries),\
|
$(if $(SPLIT_PRODUCT.STATIC_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
$(if $(SPLIT_VENDOR.STATIC_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_static_libraries := $(foreach l,$(my_static_libraries),\
|
||||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
$(if $(SPLIT_PRODUCT.STATIC_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||||
my_system_shared_libraries := $(foreach l,$(my_system_shared_libraries),\
|
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_system_shared_libraries := $(foreach l,$(my_system_shared_libraries),\
|
||||||
my_header_libraries := $(foreach l,$(my_header_libraries),\
|
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
$(if $(SPLIT_VENDOR.HEADER_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_header_libraries := $(foreach l,$(my_header_libraries),\
|
||||||
|
$(if $(SPLIT_PRODUCT.HEADER_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
|
else
|
||||||
|
my_whole_static_libraries := $(foreach l,$(my_whole_static_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.STATIC_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
my_static_libraries := $(foreach l,$(my_static_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.STATIC_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
my_system_shared_libraries := $(foreach l,$(my_system_shared_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
my_header_libraries := $(foreach l,$(my_header_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.HEADER_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Platform can use vendor public libraries. If a required shared lib is one of
|
# Platform can use vendor public libraries. If a required shared lib is one of
|
||||||
@@ -1207,6 +1220,7 @@ my_warn_types := $(my_warn_ndk_types)
|
|||||||
my_allowed_types := $(my_allowed_ndk_types)
|
my_allowed_types := $(my_allowed_ndk_types)
|
||||||
else ifdef LOCAL_USE_VNDK
|
else ifdef LOCAL_USE_VNDK
|
||||||
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||||
|
_name := $(patsubst %.product,%,$(LOCAL_MODULE))
|
||||||
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
||||||
ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),)
|
ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),)
|
||||||
my_link_type := native:vndk
|
my_link_type := native:vndk
|
||||||
@@ -1215,6 +1229,12 @@ else ifdef LOCAL_USE_VNDK
|
|||||||
endif
|
endif
|
||||||
my_warn_types :=
|
my_warn_types :=
|
||||||
my_allowed_types := native:vndk native:vndk_private
|
my_allowed_types := native:vndk native:vndk_private
|
||||||
|
else ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
|
# Modules installed to /product cannot directly depend on modules marked
|
||||||
|
# with vendor_available: false
|
||||||
|
my_link_type := native:product
|
||||||
|
my_warn_types :=
|
||||||
|
my_allowed_types := native:product native:vndk native:platform_vndk
|
||||||
else
|
else
|
||||||
# Modules installed to /vendor cannot directly depend on modules marked
|
# Modules installed to /vendor cannot directly depend on modules marked
|
||||||
# with vendor_available: false
|
# with vendor_available: false
|
||||||
|
@@ -85,6 +85,7 @@ ifdef LOCAL_SDK_VERSION
|
|||||||
my_link_type := native:ndk:$(my_ndk_stl_family):$(my_ndk_stl_link_type)
|
my_link_type := native:ndk:$(my_ndk_stl_family):$(my_ndk_stl_link_type)
|
||||||
else ifdef LOCAL_USE_VNDK
|
else ifdef LOCAL_USE_VNDK
|
||||||
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||||
|
_name := $(patsubst %.product,%,$(LOCAL_MODULE))
|
||||||
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
||||||
ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),)
|
ifeq ($(filter $(_name),$(VNDK_PRIVATE_LIBRARIES)),)
|
||||||
my_link_type := native:vndk
|
my_link_type := native:vndk
|
||||||
@@ -92,7 +93,11 @@ else ifdef LOCAL_USE_VNDK
|
|||||||
my_link_type := native:vndk_private
|
my_link_type := native:vndk_private
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
my_link_type := native:vendor
|
ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
|
my_link_type := native:product
|
||||||
|
else
|
||||||
|
my_link_type := native:vendor
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
else ifneq ($(filter $(TARGET_RECOVERY_OUT)/%,$(LOCAL_MODULE_PATH)),)
|
else ifneq ($(filter $(TARGET_RECOVERY_OUT)/%,$(LOCAL_MODULE_PATH)),)
|
||||||
my_link_type := native:recovery
|
my_link_type := native:recovery
|
||||||
@@ -136,8 +141,13 @@ include $(BUILD_SYSTEM)/cxx_stl_setup.mk
|
|||||||
|
|
||||||
ifdef my_shared_libraries
|
ifdef my_shared_libraries
|
||||||
ifdef LOCAL_USE_VNDK
|
ifdef LOCAL_USE_VNDK
|
||||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||||
|
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||||
|
else
|
||||||
|
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||||
|
$(if $(SPLIT_VENDOR.SHARED_LIBRARIES.$(l)),$(l).vendor,$(l)))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
$(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \
|
$(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)DEPENDENCIES_ON_SHARED_LIBRARIES += \
|
||||||
$(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries))
|
$(my_register_name):$(LOCAL_INSTALLED_MODULE):$(subst $(space),$(comma),$(my_shared_libraries))
|
||||||
|
@@ -106,11 +106,13 @@ ifneq ($(strip $(LOCAL_JNI_SHARED_LIBRARIES)),)
|
|||||||
my_allowed_types := $(my_allowed_ndk_types)
|
my_allowed_types := $(my_allowed_ndk_types)
|
||||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||||
my_allowed_types += native:vendor native:vndk native:platform_vndk
|
my_allowed_types += native:vendor native:vndk native:platform_vndk
|
||||||
|
else ifeq ($(LOCAL_PRODUCT_MODULE),true)
|
||||||
|
my_allowed_types += native:product native:vndk native:platform_vndk
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
my_link_type := app:platform
|
my_link_type := app:platform
|
||||||
my_warn_types := $(my_warn_ndk_types)
|
my_warn_types := $(my_warn_ndk_types)
|
||||||
my_allowed_types := $(my_allowed_ndk_types) native:platform native:vendor native:vndk native:vndk_private native:platform_vndk
|
my_allowed_types := $(my_allowed_ndk_types) native:platform native:product native:vendor native:vndk native:vndk_private native:platform_vndk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
my_link_deps := $(addprefix SHARED_LIBRARIES:,$(LOCAL_JNI_SHARED_LIBRARIES))
|
my_link_deps := $(addprefix SHARED_LIBRARIES:,$(LOCAL_JNI_SHARED_LIBRARIES))
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
|
|
||||||
#Set LOCAL_USE_VNDK for modules going into vendor or odm partition, except for host modules
|
#Set LOCAL_USE_VNDK for modules going into product, vendor or odm partition, except for host modules
|
||||||
#If LOCAL_SDK_VERSION is set, thats a more restrictive set, so they dont need LOCAL_USE_VNDK
|
#If LOCAL_SDK_VERSION is set, thats a more restrictive set, so they dont need LOCAL_USE_VNDK
|
||||||
ifndef LOCAL_IS_HOST_MODULE
|
ifndef LOCAL_IS_HOST_MODULE
|
||||||
ifndef LOCAL_SDK_VERSION
|
ifndef LOCAL_SDK_VERSION
|
||||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE) $(LOCAL_PRODUCT_MODULE)))
|
||||||
LOCAL_USE_VNDK:=true
|
LOCAL_USE_VNDK:=true
|
||||||
# Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already
|
# Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already
|
||||||
# set correctly before this is included.
|
# set correctly before this is included.
|
||||||
@@ -34,5 +34,11 @@ ifdef LOCAL_USE_VNDK
|
|||||||
ifndef BOARD_VNDK_VERSION
|
ifndef BOARD_VNDK_VERSION
|
||||||
LOCAL_USE_VNDK:=
|
LOCAL_USE_VNDK:=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifndef PRODUCT_PRODUCT_VNDK_VERSION
|
||||||
|
ifneq (,$(filter true,$(LOCAL_PRODUCT_MODULE)))
|
||||||
|
LOCAL_USE_VNDK :=
|
||||||
|
endif
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -75,8 +75,13 @@ endif
|
|||||||
ifdef LOCAL_USE_VNDK
|
ifdef LOCAL_USE_VNDK
|
||||||
ifneq ($(LOCAL_VNDK_DEPEND_ON_CORE_VARIANT),true)
|
ifneq ($(LOCAL_VNDK_DEPEND_ON_CORE_VARIANT),true)
|
||||||
name_without_suffix := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
name_without_suffix := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||||
ifneq ($(name_without_suffix),$(LOCAL_MODULE)
|
ifneq ($(name_without_suffix),$(LOCAL_MODULE))
|
||||||
SPLIT_VENDOR.$(LOCAL_MODULE_CLASS).$(name_without_suffix) := 1
|
SPLIT_VENDOR.$(LOCAL_MODULE_CLASS).$(name_without_suffix) := 1
|
||||||
|
else
|
||||||
|
name_without_suffix := $(patsubst %.product,%,$(LOCAL_MODULE))
|
||||||
|
ifneq ($(name_without_suffix),$(LOCAL_MODULE))
|
||||||
|
SPLIT_PRODUCT.$(LOCAL_MODULE_CLASS).$(name_without_suffix) := 1
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
name_without_suffix :=
|
name_without_suffix :=
|
||||||
endif
|
endif
|
||||||
|
Reference in New Issue
Block a user