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:
Kiyoung Kim 2024-02-05 10:22:04 +09:00
parent 62bc1b46f1
commit 454265c233
12 changed files with 66 additions and 81 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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:=

View file

@ -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

View file

@ -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)"

View file

@ -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)

View 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

View file

@ -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

View file

@ -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

View file

@ -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