Merge "BOARD_VNDK_VERSION must be set first pass" am: a85c8a863a am: 7613afc5ae am: 1b805513cc am: e80e8b4c5c

Original change: https://android-review.googlesource.com/c/platform/build/+/2613792

Change-Id: I23d18a85e20f4c06fb56148813b255a1dd771f9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot 2023-06-09 01:34:41 +00:00 committed by Automerger Merge Worker
commit 234e659bb6
6 changed files with 17 additions and 66 deletions

View file

@ -1572,15 +1572,10 @@ ifdef LOCAL_USE_VNDK
else ifdef LOCAL_SDK_VERSION
my_target_global_c_includes :=
my_target_global_c_system_includes := $(my_ndk_stl_include_path) $(my_ndk_sysroot_include)
else ifdef BOARD_VNDK_VERSION
my_target_global_c_includes := $(SRC_HEADERS) \
$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)C_INCLUDES)
my_target_global_c_system_includes := $(SRC_SYSTEM_HEADERS) \
$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)C_SYSTEM_INCLUDES)
else
my_target_global_c_includes := $(SRC_HEADERS) \
$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)C_INCLUDES)
my_target_global_c_system_includes := $(SRC_SYSTEM_HEADERS) $(TARGET_OUT_HEADERS) \
my_target_global_c_system_includes := $(SRC_SYSTEM_HEADERS) \
$($(LOCAL_2ND_ARCH_VAR_PREFIX)$(my_prefix)C_SYSTEM_INCLUDES)
endif
@ -1667,14 +1662,8 @@ imported_includes :=
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 ifdef LOCAL_SDK_VERSION
# Apps shouldn't need device-specific kernel headers
else ifdef BOARD_VNDK_VERSION
# For devices building with the VNDK, only the VNDK gets device-specific kernel headers by default
# In soong, it's entirely opt-in
else
# For older non-VNDK builds, continue adding in kernel headers to everything like we used to
imported_includes += $(call intermediates-dir-for,HEADER_LIBRARIES,device_kernel_headers,$(my_kind),,$(LOCAL_2ND_ARCH_VAR_PREFIX),$(my_host_cross))
# everything else should manually specify headers
endif
imported_includes := $(strip \

View file

@ -968,27 +968,13 @@ define check_vndk_version
$(if $(wildcard $(vndk_path)/*/Android.bp),,$(error VNDK version $(1) not found))
endef
ifdef BOARD_VNDK_VERSION
ifeq ($(BOARD_VNDK_VERSION),$(PLATFORM_VNDK_VERSION))
$(error BOARD_VNDK_VERSION is equal to PLATFORM_VNDK_VERSION; use BOARD_VNDK_VERSION := current)
endif
ifneq ($(BOARD_VNDK_VERSION),current)
$(call check_vndk_version,$(BOARD_VNDK_VERSION))
endif
TARGET_VENDOR_TEST_SUFFIX := /vendor
else
TARGET_VENDOR_TEST_SUFFIX :=
ifeq ($(BOARD_VNDK_VERSION),$(PLATFORM_VNDK_VERSION))
$(error BOARD_VNDK_VERSION is equal to PLATFORM_VNDK_VERSION; use BOARD_VNDK_VERSION := current)
endif
# If PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY is set,
# BOARD_VNDK_VERSION must be set because PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY
# is a enforcement of inter-partition dependency, and it doesn't have any meaning
# when BOARD_VNDK_VERSION isn't set.
ifeq ($(PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY),true)
ifeq ($(BOARD_VNDK_VERSION),)
$(error BOARD_VNDK_VERSION must be set when PRODUCT_ENFORCE_INTER_PARTITION_JAVA_SDK_LIBRARY is true)
endif
ifneq ($(BOARD_VNDK_VERSION),current)
$(call check_vndk_version,$(BOARD_VNDK_VERSION))
endif
TARGET_VENDOR_TEST_SUFFIX := /vendor
###########################################
# APEXes are by default not flattened, i.e. updatable.

View file

@ -356,6 +356,16 @@ ANDROID_BUILDSPEC := $(TOPDIR)buildspec.mk
endif
-include $(ANDROID_BUILDSPEC)
# Starting in Android U, non-VNDK devices not supported
# WARNING: DO NOT CHANGE: if you are downstream of AOSP, and you change this, without
# letting upstream know it's important to you, we may do cleanup which breaks this
# significantly. Please let us know if you are changing this.
ifndef BOARD_VNDK_VERSION
# READ WARNING - DO NOT CHANGE
BOARD_VNDK_VERSION := current
# READ WARNING - DO NOT CHANGE
endif
# ---------------------------------------------------------------
# Define most of the global variables. These are the ones that
# are specific to the user's build configuration.
@ -775,24 +785,6 @@ ifeq ($(PRODUCT_FULL_TREBLE),true)
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED ?= true
endif
# Starting in Android U, non-VNDK devices not supported
# WARNING: DO NOT CHANGE: if you are downstream of AOSP, and you change this, without
# letting upstream know it's important to you, we may do cleanup which breaks this
# significantly. Please let us know if you are changing this.
ifndef BOARD_VNDK_VERSION
# READ WARNING - DO NOT CHANGE
BOARD_VNDK_VERSION := current
# READ WARNING - DO NOT CHANGE
endif
ifdef PRODUCT_PRODUCT_VNDK_VERSION
ifndef BOARD_VNDK_VERSION
# VNDK for product partition is not available unless BOARD_VNDK_VERSION
# defined.
$(error PRODUCT_PRODUCT_VNDK_VERSION cannot be defined without defining BOARD_VNDK_VERSION)
endif
endif
# Set BOARD_SYSTEMSDK_VERSIONS to the latest SystemSDK version starting from P-launching
# devices if unset.
ifndef BOARD_SYSTEMSDK_VERSIONS

View file

@ -18,11 +18,9 @@ include $(BUILD_SYSTEM)/local_vndk.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.
ifdef BOARD_VNDK_VERSION
ifndef LOCAL_USE_VNDK
$(call pretty-error,Only vendor modules using LOCAL_USE_VNDK may use LOCAL_COPY_HEADERS)
endif
endif
# Clean up LOCAL_COPY_HEADERS_TO, since soong_ui will be comparing cleaned
# paths to figure out which headers are obsolete and should be removed.

View file

@ -37,12 +37,5 @@ ifdef LOCAL_USE_VNDK
$(shell echo $(LOCAL_MODULE_MAKEFILE): $(LOCAL_MODULE): LOCAL_USE_VNDK must not be used with LOCAL_SDK_VERSION >&2)
$(error done)
endif
# If we're not using the VNDK, drop all restrictions
ifndef BOARD_VNDK_VERSION
LOCAL_USE_VNDK:=
LOCAL_USE_VNDK_VENDOR:=
LOCAL_USE_VNDK_PRODUCT:=
endif
endif

View file

@ -33,9 +33,6 @@ ifeq ($(TARGET_IS_64_BIT)|$(TARGET_2ND_ARCH),true|)
check-vndk-list: ;
else ifeq ($(TARGET_SKIP_CURRENT_VNDK),true)
check-vndk-list: ;
else ifeq ($(BOARD_VNDK_VERSION),)
# b/143233626 do not check vndk-list when vndk libs are not built
check-vndk-list: ;
else
check-vndk-list: $(check-vndk-list-timestamp)
ifneq ($(SKIP_ABI_CHECKS),true)
@ -172,8 +169,6 @@ $(check-vndk-abi-dump-list-timestamp):
#####################################################################
# VNDK package and snapshot.
ifneq ($(BOARD_VNDK_VERSION),)
include $(CLEAR_VARS)
LOCAL_MODULE := vndk_package
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
@ -214,8 +209,6 @@ include $(BUILD_PHONY_PACKAGE)
_vndk_versions :=
endif # BOARD_VNDK_VERSION is set
#####################################################################
# skip_mount.cfg, read by init to skip mounting some partitions when GSI is used.