diff options
author | 2024-02-02 10:38:49 +0000 | |
---|---|---|
committer | 2024-02-02 10:38:49 +0000 | |
commit | 81c7511fed3171a16505c16d22201cb080b6043c (patch) | |
tree | ceb9545973ca301458140aa360570795a52a34ad | |
parent | 639fde3a4d866883276fe67520b2acce5a7a718a (diff) | |
parent | 0bf6c284e01cb67a3c7a259ded206ee0d2e1c8a3 (diff) |
Merge "Revert "Rename LOCAL_USE_VNDK"" into main
-rw-r--r-- | core/autogen_test_config.mk | 2 | ||||
-rw-r--r-- | core/base_rules.mk | 10 | ||||
-rw-r--r-- | core/binary.mk | 28 | ||||
-rw-r--r-- | core/cc_prebuilt_internal.mk | 12 | ||||
-rw-r--r-- | core/clear_vars.mk | 4 | ||||
-rw-r--r-- | core/copy_headers.mk | 11 | ||||
-rw-r--r-- | core/definitions.mk | 4 | ||||
-rw-r--r-- | core/executable_internal.mk | 2 | ||||
-rw-r--r-- | core/local_vendor_product.mk | 16 | ||||
-rw-r--r-- | core/local_vndk.mk | 41 | ||||
-rw-r--r-- | core/shared_library_internal.mk | 2 | ||||
-rw-r--r-- | core/soong_cc_rust_prebuilt.mk | 10 |
12 files changed, 82 insertions, 60 deletions
diff --git a/core/autogen_test_config.mk b/core/autogen_test_config.mk index b69f6945c1..137b1185ab 100644 --- a/core/autogen_test_config.mk +++ b/core/autogen_test_config.mk @@ -29,7 +29,7 @@ ifeq (true,$(is_native)) ifeq (true,$(LOCAL_VENDOR_MODULE)) autogen_test_install_base = /data/local/tests/vendor endif - ifeq (true,$(call module-in-vendor-or-product)) + ifeq (true,$(LOCAL_USE_VNDK)) autogen_test_install_base = /data/local/tests/vendor endif endif diff --git a/core/base_rules.mk b/core/base_rules.mk index 07e1afbf4f..44e1c7a058 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -120,7 +120,7 @@ non_system_module := $(filter true, \ $(LOCAL_VENDOR_MODULE) \ $(LOCAL_PROPRIETARY_MODULE)) -include $(BUILD_SYSTEM)/local_vendor_product.mk +include $(BUILD_SYSTEM)/local_vndk.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 ($(call module-in-vendor-or-product),) +ifneq ($(LOCAL_USE_VNDK),) ifneq ($(LOCAL_MODULE_MAKEFILE),$(SOONG_ANDROID_MK)) apiimport_postfix := .apiimport - ifeq ($(LOCAL_IN_PRODUCT),true) + ifeq ($(LOCAL_USE_VNDK_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 ($(call module-in-vendor-or-product),) +ifneq ($(LOCAL_USE_VNDK),) ##################################################### ## Soong modules may be built three times, once for ## /system, once for /vendor and once for /product. @@ -1124,7 +1124,7 @@ ifneq ($(call module-in-vendor-or-product),) # 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_IN_PRODUCT),true) + ifeq ($(LOCAL_USE_VNDK_PRODUCT),true) my_required_modules := $(foreach l,$(my_required_modules),\ $(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l))) else diff --git a/core/binary.mk b/core/binary.mk index 6dab49ca44..d872b66340 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -332,10 +332,10 @@ ifeq ($(CLANG_COVERAGE),true) endif endif -ifneq ($(call module-in-vendor-or-product),) +ifneq ($(LOCAL_USE_VNDK),) my_cflags += -D__ANDROID_VNDK__ - ifneq ($(LOCAL_IN_VENDOR),) - # Vendor modules have LOCAL_IN_VENDOR + ifneq ($(LOCAL_USE_VNDK_VENDOR),) + # Vendor modules have LOCAL_USE_VNDK_VENDOR my_cflags += -D__ANDROID_VENDOR__ ifeq ($(BOARD_API_LEVEL),) @@ -345,8 +345,8 @@ ifneq ($(call module-in-vendor-or-product),) else my_cflags += -D__ANDROID_VENDOR_API__=$(BOARD_API_LEVEL) endif - else ifneq ($(LOCAL_IN_PRODUCT),) - # Product modules have LOCAL_IN_PRODUCT + else ifneq ($(LOCAL_USE_VNDK_PRODUCT),) + # Product modules have LOCAL_USE_VNDK_PRODUCT my_cflags += -D__ANDROID_PRODUCT__ endif endif @@ -1174,8 +1174,8 @@ endif apiimport_postfix := .apiimport -ifneq ($(call module-in-vendor-or-product),) - ifeq ($(LOCAL_IN_PRODUCT),true) +ifneq ($(LOCAL_USE_VNDK),) + ifeq ($(LOCAL_USE_VNDK_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 ($(call module-in-vendor-or-product),) +ifneq ($(LOCAL_USE_VNDK),) ##################################################### ## 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_IN_PRODUCT),true) + ifeq ($(LOCAL_USE_VNDK_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 ($(call module-in-vendor-or-product),) +ifeq ($(LOCAL_USE_VNDK),) 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 ifeq ($(call module-in-vendor-or-product),true) +else ifdef LOCAL_USE_VNDK _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 ifeq ($(call module-in-vendor-or-product),true) endif my_warn_types := my_allowed_types := native:vndk native:vndk_private - else ifeq ($(LOCAL_IN_PRODUCT),true) + else ifeq ($(LOCAL_USE_VNDK_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 -ifeq ($(call module-in-vendor-or-product),true) +ifdef LOCAL_USE_VNDK 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 := -ifeq (true,$(call module-in-vendor-or-product)) +ifdef LOCAL_USE_VNDK 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 diff --git a/core/cc_prebuilt_internal.mk b/core/cc_prebuilt_internal.mk index e34e110953..000159adfc 100644 --- a/core/cc_prebuilt_internal.mk +++ b/core/cc_prebuilt_internal.mk @@ -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 ifeq ($(call module-in-vendor-or-product),true) +else ifdef LOCAL_USE_VNDK _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 ifeq ($(call module-in-vendor-or-product),true) my_link_type := native:vndk_private endif else - ifeq ($(LOCAL_IN_PRODUCT),true) + ifeq ($(LOCAL_USE_VNDK_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 -ifeq ($(call module-in-vendor-or-product),true) - ifeq ($(LOCAL_IN_PRODUCT),true) +ifneq ($(LOCAL_USE_VNDK),) + ifeq ($(LOCAL_USE_VNDK_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 -ifeq ($(call module-in-vendor-or-product),true) - ifeq ($(LOCAL_IN_PRODUCT),true) +ifdef LOCAL_USE_VNDK + ifeq ($(LOCAL_USE_VNDK_PRODUCT),true) my_shared_libraries := $(foreach l,$(my_shared_libraries),\ $(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l))) else diff --git a/core/clear_vars.mk b/core/clear_vars.mk index cf3fb9ec8a..8d99176ca4 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -303,8 +303,8 @@ LOCAL_UNINSTALLABLE_MODULE:= LOCAL_UNSTRIPPED_PATH:= LOCAL_USE_AAPT2:= LOCAL_USE_CLANG_LLD:= -LOCAL_IN_VENDOR:= -LOCAL_IN_PRODUCT:= +LOCAL_USE_VNDK:= +LOCAL_USE_VNDK_PRODUCT:= LOCAL_USES_LIBRARIES:= LOCAL_VENDOR_MODULE:= LOCAL_VINTF_FRAGMENTS:= diff --git a/core/copy_headers.mk b/core/copy_headers.mk index 397ea629a9..c457eb0a42 100644 --- a/core/copy_headers.mk +++ b/core/copy_headers.mk @@ -13,12 +13,13 @@ ifdef LOCAL_SDK_VERSION $(call pretty-error,Modules using LOCAL_SDK_VERSION may not use LOCAL_COPY_HEADERS) endif -include $(BUILD_SYSTEM)/local_vendor_product.mk +include $(BUILD_SYSTEM)/local_vndk.mk -# 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) +# 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) endif # Clean up LOCAL_COPY_HEADERS_TO, since soong_ui will be comparing cleaned diff --git a/core/definitions.mk b/core/definitions.mk index 40b798013d..ed842bc021 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -2774,10 +2774,6 @@ 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)" diff --git a/core/executable_internal.mk b/core/executable_internal.mk index fecf4f6a28..fb14ccea41 100644 --- a/core/executable_internal.mk +++ b/core/executable_internal.mk @@ -45,7 +45,7 @@ ifeq ($(LOCAL_NO_CRT),true) my_target_crtbegin_dynamic_o := my_target_crtbegin_static_o := my_target_crtend_o := -else ifeq (true,$(call module-in-vendor-or-product)) +else ifdef LOCAL_USE_VNDK 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) diff --git a/core/local_vendor_product.mk b/core/local_vendor_product.mk deleted file mode 100644 index fef9b26d3f..0000000000 --- a/core/local_vendor_product.mk +++ /dev/null @@ -1,16 +0,0 @@ - -# 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 diff --git a/core/local_vndk.mk b/core/local_vndk.mk new file mode 100644 index 0000000000..eb8f2c0a15 --- /dev/null +++ b/core/local_vndk.mk @@ -0,0 +1,41 @@ + +#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 + diff --git a/core/shared_library_internal.mk b/core/shared_library_internal.mk index 2f510d9b30..139de1077d 100644 --- a/core/shared_library_internal.mk +++ b/core/shared_library_internal.mk @@ -42,7 +42,7 @@ endif ifeq ($(LOCAL_NO_CRT),true) my_target_crtbegin_so_o := my_target_crtend_so_o := -else ifeq ($(call module-in-vendor-or-product),true) +else ifdef LOCAL_USE_VNDK 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 diff --git a/core/soong_cc_rust_prebuilt.mk b/core/soong_cc_rust_prebuilt.mk index 943ed30b24..94e1115645 100644 --- a/core/soong_cc_rust_prebuilt.mk +++ b/core/soong_cc_rust_prebuilt.mk @@ -99,7 +99,7 @@ ifneq ($(filter STATIC_LIBRARIES SHARED_LIBRARIES RLIB_LIBRARIES DYLIB_LIBRARIES include $(BUILD_SYSTEM)/link_type.mk endif -ifeq ($(call module-in-vendor-or-product),true) +ifdef LOCAL_USE_VNDK 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) - ifeq ($(call module-in-vendor-or-product),true) - ifdef LOCAL_IN_PRODUCT + ifdef LOCAL_USE_VNDK + ifdef LOCAL_USE_VNDK_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. - ifeq ($(call module-in-vendor-or-product),true) - ifdef LOCAL_IN_PRODUCT + ifdef LOCAL_USE_VNDK + ifdef LOCAL_USE_VNDK_PRODUCT my_dylibs := $(foreach l,$(my_dylibs),\ $(if $(SPLIT_PRODUCT.SHARED_LIBRARIES.$(l)),$(l).product,$(l))) else |