Reapply "Rename LOCAL_USE_VNDK"
LOCAL_USE_VNDK property refers if the module uses VNDK, and this property is being used to check if the module is installed in vendor or product. However, the term no longer makes sense with VNDK deprecation, so it should be renamed. Similar to change in aosp/2897612, rename LOCAL_USE_VNDK as LOCAL_IN_VENDOR or LOCAL_IN_PRODUCT. Bug: 316829758 Test: AOSP CF build succeeded Change-Id: I2da2e2027ccabbcfbb444abc6828addeb3b22e13
This commit is contained in:
parent
62bc1b46f1
commit
454265c233
12 changed files with 66 additions and 81 deletions
|
@ -29,7 +29,7 @@ ifeq (true,$(is_native))
|
|||
ifeq (true,$(LOCAL_VENDOR_MODULE))
|
||||
autogen_test_install_base = /data/local/tests/vendor
|
||||
endif
|
||||
ifeq (true,$(LOCAL_USE_VNDK))
|
||||
ifeq (true,$(call module-in-vendor-or-product))
|
||||
autogen_test_install_base = /data/local/tests/vendor
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -120,7 +120,7 @@ non_system_module := $(filter true, \
|
|||
$(LOCAL_VENDOR_MODULE) \
|
||||
$(LOCAL_PROPRIETARY_MODULE))
|
||||
|
||||
include $(BUILD_SYSTEM)/local_vndk.mk
|
||||
include $(BUILD_SYSTEM)/local_vendor_product.mk
|
||||
|
||||
# local_current_sdk needs to run before local_systemsdk because the former may override
|
||||
# LOCAL_SDK_VERSION which is used by the latter.
|
||||
|
@ -1095,10 +1095,10 @@ endif
|
|||
## When compiling against API imported module, use API import stub
|
||||
## libraries.
|
||||
##########################################################################
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifneq ($(call module-in-vendor-or-product),)
|
||||
ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK))
|
||||
apiimport_postfix := .apiimport
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
apiimport_postfix := .apiimport.product
|
||||
else
|
||||
apiimport_postfix := .apiimport.vendor
|
||||
|
@ -1113,7 +1113,7 @@ endif
|
|||
## When compiling against the VNDK, add the .vendor or .product suffix to
|
||||
## required modules.
|
||||
##########################################################################
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifneq ($(call module-in-vendor-or-product),)
|
||||
#####################################################
|
||||
## Soong modules may be built three times, once for
|
||||
## /system, once for /vendor and once for /product.
|
||||
|
@ -1124,7 +1124,7 @@ ifneq ($(LOCAL_USE_VNDK),)
|
|||
# We don't do this renaming for soong-defined modules since they already
|
||||
# have correct names (with .vendor or .product suffix when necessary) in
|
||||
# their LOCAL_*_LIBRARIES.
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
my_required_modules := $(foreach l,$(my_required_modules),\
|
||||
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||
else
|
||||
|
|
|
@ -332,10 +332,10 @@ ifeq ($(CLANG_COVERAGE),true)
|
|||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifneq ($(call module-in-vendor-or-product),)
|
||||
my_cflags += -D__ANDROID_VNDK__
|
||||
ifneq ($(LOCAL_USE_VNDK_VENDOR),)
|
||||
# Vendor modules have LOCAL_USE_VNDK_VENDOR
|
||||
ifneq ($(LOCAL_IN_VENDOR),)
|
||||
# Vendor modules have LOCAL_IN_VENDOR
|
||||
my_cflags += -D__ANDROID_VENDOR__
|
||||
|
||||
ifeq ($(BOARD_API_LEVEL),)
|
||||
|
@ -345,8 +345,8 @@ ifneq ($(LOCAL_USE_VNDK),)
|
|||
else
|
||||
my_cflags += -D__ANDROID_VENDOR_API__=$(BOARD_API_LEVEL)
|
||||
endif
|
||||
else ifneq ($(LOCAL_USE_VNDK_PRODUCT),)
|
||||
# Product modules have LOCAL_USE_VNDK_PRODUCT
|
||||
else ifneq ($(LOCAL_IN_PRODUCT),)
|
||||
# Product modules have LOCAL_IN_PRODUCT
|
||||
my_cflags += -D__ANDROID_PRODUCT__
|
||||
endif
|
||||
endif
|
||||
|
@ -1174,8 +1174,8 @@ endif
|
|||
|
||||
apiimport_postfix := .apiimport
|
||||
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifneq ($(call module-in-vendor-or-product),)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
apiimport_postfix := .apiimport.product
|
||||
else
|
||||
apiimport_postfix := .apiimport.vendor
|
||||
|
@ -1192,14 +1192,14 @@ my_header_libraries := $(foreach l,$(my_header_libraries), \
|
|||
###########################################################
|
||||
## When compiling against the VNDK, use LL-NDK libraries
|
||||
###########################################################
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifneq ($(call module-in-vendor-or-product),)
|
||||
#####################################################
|
||||
## Soong modules may be built three times, once for
|
||||
## /system, once for /vendor and once for /product.
|
||||
## If we're using the VNDK, switch all soong
|
||||
## libraries over to the /vendor or /product variant.
|
||||
#####################################################
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
my_whole_static_libraries := $(foreach l,$(my_whole_static_libraries),\
|
||||
$(if $(SPLIT_PRODUCT.STATIC_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||
my_static_libraries := $(foreach l,$(my_static_libraries),\
|
||||
|
@ -1226,7 +1226,7 @@ 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),)
|
||||
ifeq ($(call module-in-vendor-or-product),)
|
||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||
$(if $(filter $(l),$(VENDOR_PUBLIC_LIBRARIES)),$(l).vendorpublic,$(l)))
|
||||
endif
|
||||
|
@ -1278,7 +1278,7 @@ ifdef LOCAL_SDK_VERSION
|
|||
my_link_type := native:ndk:$(my_ndk_stl_family):$(my_ndk_stl_link_type)
|
||||
my_warn_types := $(my_warn_ndk_types)
|
||||
my_allowed_types := $(my_allowed_ndk_types)
|
||||
else ifdef LOCAL_USE_VNDK
|
||||
else ifeq ($(call module-in-vendor-or-product),true)
|
||||
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||
_name := $(patsubst %.product,%,$(LOCAL_MODULE))
|
||||
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
||||
|
@ -1289,7 +1289,7 @@ else ifdef LOCAL_USE_VNDK
|
|||
endif
|
||||
my_warn_types :=
|
||||
my_allowed_types := native:vndk native:vndk_private
|
||||
else ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
else ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
# Modules installed to /product cannot directly depend on modules marked
|
||||
# with vendor_available: false
|
||||
my_link_type := native:product
|
||||
|
@ -1592,7 +1592,7 @@ my_ldlibs += $(my_cxx_ldlibs)
|
|||
###########################################################
|
||||
ifndef LOCAL_IS_HOST_MODULE
|
||||
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
my_target_global_c_includes :=
|
||||
my_target_global_c_system_includes := $(TARGET_OUT_HEADERS)
|
||||
else ifdef LOCAL_SDK_VERSION
|
||||
|
@ -1686,7 +1686,7 @@ endif
|
|||
####################################################
|
||||
imported_includes :=
|
||||
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifeq (true,$(call module-in-vendor-or-product))
|
||||
imported_includes += $(call intermediates-dir-for,HEADER_LIBRARIES,device_kernel_headers,$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))
|
||||
else
|
||||
# everything else should manually specify headers
|
||||
|
|
|
@ -80,7 +80,7 @@ include $(BUILD_SYSTEM)/allowed_ndk_types.mk
|
|||
|
||||
ifdef LOCAL_SDK_VERSION
|
||||
my_link_type := native:ndk:$(my_ndk_stl_family):$(my_ndk_stl_link_type)
|
||||
else ifdef LOCAL_USE_VNDK
|
||||
else ifeq ($(call module-in-vendor-or-product),true)
|
||||
_name := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||
_name := $(patsubst %.product,%,$(LOCAL_MODULE))
|
||||
ifneq ($(filter $(_name),$(VNDK_CORE_LIBRARIES) $(VNDK_SAMEPROCESS_LIBRARIES) $(LLNDK_LIBRARIES)),)
|
||||
|
@ -90,7 +90,7 @@ else ifdef LOCAL_USE_VNDK
|
|||
my_link_type := native:vndk_private
|
||||
endif
|
||||
else
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
my_link_type := native:product
|
||||
else
|
||||
my_link_type := native:vendor
|
||||
|
@ -139,8 +139,8 @@ include $(BUILD_SYSTEM)/cxx_stl_setup.mk
|
|||
# When compiling against API imported module, use API import stub libraries.
|
||||
apiimport_postfix := .apiimport
|
||||
|
||||
ifneq ($(LOCAL_USE_VNDK),)
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
apiimport_postfix := .apiimport.product
|
||||
else
|
||||
apiimport_postfix := .apiimport.vendor
|
||||
|
@ -158,8 +158,8 @@ my_system_shared_libraries := $(foreach l,$(my_system_shared_libraries), \
|
|||
endif #my_system_shared_libraries
|
||||
|
||||
ifdef my_shared_libraries
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifeq ($(LOCAL_USE_VNDK_PRODUCT),true)
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
ifeq ($(LOCAL_IN_PRODUCT),true)
|
||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||
else
|
||||
|
|
|
@ -304,7 +304,8 @@ LOCAL_UNSTRIPPED_PATH:=
|
|||
LOCAL_USE_AAPT2:=
|
||||
LOCAL_USE_CLANG_LLD:=
|
||||
LOCAL_USE_VNDK:=
|
||||
LOCAL_USE_VNDK_PRODUCT:=
|
||||
LOCAL_IN_VENDOR:=
|
||||
LOCAL_IN_PRODUCT:=
|
||||
LOCAL_USES_LIBRARIES:=
|
||||
LOCAL_VENDOR_MODULE:=
|
||||
LOCAL_VINTF_FRAGMENTS:=
|
||||
|
|
|
@ -13,13 +13,12 @@ ifdef LOCAL_SDK_VERSION
|
|||
$(call pretty-error,Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS)
|
||||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/local_vndk.mk
|
||||
include $(BUILD_SYSTEM)/local_vendor_product.mk
|
||||
|
||||
# If we're using the VNDK, only vendor modules using the VNDK may use
|
||||
# LOCAL_COPY_HEADERS. Platform libraries will not have the include path
|
||||
# present.
|
||||
ifndef LOCAL_USE_VNDK
|
||||
$(call pretty-error,Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS)
|
||||
# Modules in vendor or product may use LOCAL_COPY_HEADERS.
|
||||
# Platform libraries will not have the include path present.
|
||||
ifeq ($(call module-in-vendor-or-product),)
|
||||
$(call pretty-error,Only modules in vendor or product may use LOCAL_COPY_HEADERS)
|
||||
endif
|
||||
|
||||
# Clean up LOCAL_COPY_HEADERS_TO, since soong_ui will be comparing cleaned
|
||||
|
|
|
@ -2774,6 +2774,10 @@ define module-min-sdk-version
|
|||
$(if $(LOCAL_MIN_SDK_VERSION),$(LOCAL_MIN_SDK_VERSION),$(call module-target-sdk-version))
|
||||
endef
|
||||
|
||||
# Checks if module is in vendor or product
|
||||
define module-in-vendor-or-product
|
||||
$(if $(filter true,$(LOCAL_IN_VENDOR) $(LOCAL_IN_PRODUCT)),true)
|
||||
endef
|
||||
|
||||
define transform-classes.jar-to-dex
|
||||
@echo "target Dex: $(PRIVATE_MODULE)"
|
||||
|
|
|
@ -45,7 +45,7 @@ ifeq ($(LOCAL_NO_CRT),true)
|
|||
my_target_crtbegin_dynamic_o :=
|
||||
my_target_crtbegin_static_o :=
|
||||
my_target_crtend_o :=
|
||||
else ifdef LOCAL_USE_VNDK
|
||||
else ifeq (true,$(call module-in-vendor-or-product))
|
||||
my_target_crtbegin_dynamic_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_dynamic.vendor)
|
||||
my_target_crtbegin_static_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_static.vendor)
|
||||
my_target_crtend_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_android.vendor)
|
||||
|
|
22
core/local_vendor_product.mk
Normal file
22
core/local_vendor_product.mk
Normal file
|
@ -0,0 +1,22 @@
|
|||
# LOCAL_USE_VNDK is not the variable which set by module directly, but there are some modules do so.
|
||||
# Set those as LOCAL_IN_VENDOR to make those modules work as expected.
|
||||
ifeq (true,$(LOCAL_USE_VNDK))
|
||||
$(warning LOCAL_USE_VNDK must not be used. Please use LOCAL_VENDOR_MODULE or LOCAL_PRODUCT_MODULE instead.)
|
||||
LOCAL_IN_VENDOR:=true
|
||||
endif
|
||||
|
||||
# Set LOCAL_IN_VENDOR for modules going into vendor or odm partition and LOCAL_IN_PRODUCT for product
|
||||
# except for host modules. If LOCAL_SDK_VERSION is set, thats a more restrictive set, so they don't need
|
||||
# LOCAL_IN_VENDOR or LOCAL_IN_PRODUCT
|
||||
ifndef LOCAL_IS_HOST_MODULE
|
||||
ifndef LOCAL_SDK_VERSION
|
||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||
LOCAL_IN_VENDOR:=true
|
||||
# Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already
|
||||
# set correctly before this is included.
|
||||
endif
|
||||
ifeq (true,$(LOCAL_PRODUCT_MODULE))
|
||||
LOCAL_IN_PRODUCT:=true
|
||||
endif
|
||||
endif
|
||||
endif
|
|
@ -1,41 +0,0 @@
|
|||
|
||||
#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
|
||||
ifndef LOCAL_IS_HOST_MODULE
|
||||
ifndef LOCAL_SDK_VERSION
|
||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||
LOCAL_USE_VNDK:=true
|
||||
LOCAL_USE_VNDK_VENDOR:=true
|
||||
# Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already
|
||||
# set correctly before this is included.
|
||||
endif
|
||||
ifdef PRODUCT_PRODUCT_VNDK_VERSION
|
||||
# Product modules also use VNDK when PRODUCT_PRODUCT_VNDK_VERSION is defined.
|
||||
ifeq (true,$(LOCAL_PRODUCT_MODULE))
|
||||
LOCAL_USE_VNDK:=true
|
||||
LOCAL_USE_VNDK_PRODUCT:=true
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Verify LOCAL_USE_VNDK usage, and set LOCAL_SDK_VERSION if necessary
|
||||
|
||||
ifdef LOCAL_IS_HOST_MODULE
|
||||
ifdef LOCAL_USE_VNDK
|
||||
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): Do not use LOCAL_USE_VNDK with host modules >&2)
|
||||
$(error done)
|
||||
endif
|
||||
endif
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifneq ($(LOCAL_USE_VNDK),true)
|
||||
$(shell echo '$(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_USE_VNDK must be "true" or empty, not "$(LOCAL_USE_VNDK)"' >&2)
|
||||
$(error done)
|
||||
endif
|
||||
|
||||
ifdef LOCAL_SDK_VERSION
|
||||
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_USE_VNDK must not be used with LOCAL_SDK_VERSION >&2)
|
||||
$(error done)
|
||||
endif
|
||||
endif
|
||||
|
|
@ -42,7 +42,7 @@ endif
|
|||
ifeq ($(LOCAL_NO_CRT),true)
|
||||
my_target_crtbegin_so_o :=
|
||||
my_target_crtend_so_o :=
|
||||
else ifdef LOCAL_USE_VNDK
|
||||
else ifeq ($(call module-in-vendor-or-product),true)
|
||||
my_target_crtbegin_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtbegin_so.vendor)
|
||||
my_target_crtend_so_o := $(SOONG_$(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJECT_crtend_so.vendor)
|
||||
else
|
||||
|
|
|
@ -99,7 +99,7 @@ ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES RLIB_LIBRARIES DYLIB_LIBRARIES
|
|||
include $(BUILD_SYSTEM)/link_type.mk
|
||||
endif
|
||||
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
ifneq ($(LOCAL_VNDK_DEPEND_ON_CORE_VARIANT),true)
|
||||
name_without_suffix := $(patsubst %.vendor,%,$(LOCAL_MODULE))
|
||||
ifneq ($(name_without_suffix),$(LOCAL_MODULE))
|
||||
|
@ -128,8 +128,8 @@ endif
|
|||
ifdef LOCAL_INSTALLED_MODULE
|
||||
ifdef LOCAL_SHARED_LIBRARIES
|
||||
my_shared_libraries := $(LOCAL_SHARED_LIBRARIES)
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifdef LOCAL_USE_VNDK_PRODUCT
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
ifdef LOCAL_IN_PRODUCT
|
||||
my_shared_libraries := $(foreach l,$(my_shared_libraries),\
|
||||
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||
else
|
||||
|
@ -143,8 +143,8 @@ ifdef LOCAL_INSTALLED_MODULE
|
|||
ifdef LOCAL_DYLIB_LIBRARIES
|
||||
my_dylibs := $(LOCAL_DYLIB_LIBRARIES)
|
||||
# Treat these as shared library dependencies for installation purposes.
|
||||
ifdef LOCAL_USE_VNDK
|
||||
ifdef LOCAL_USE_VNDK_PRODUCT
|
||||
ifeq ($(call module-in-vendor-or-product),true)
|
||||
ifdef LOCAL_IN_PRODUCT
|
||||
my_dylibs := $(foreach l,$(my_dylibs),\
|
||||
$(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l)))
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue