From 2c583744cbe5f60370eb8879c310df37b290ff98 Mon Sep 17 00:00:00 2001 From: Justin Yun Date: Wed, 29 Nov 2023 18:09:39 +0900 Subject: [PATCH] Define __ANDROID_VENDOR_API__ cc modules can use __ANDROID_VENDOR_API__ to read BOARD_API_LEVEL that is the API level of the vendor surface. Bug: 313822931 Test: check ninja commands to have -D__ANDROID_VENDOR_API__= Change-Id: I868b88ae72b4f60bc3d5ad567fbacd2222dd62d7 --- core/binary.mk | 25 ++++++++++--------------- core/soong_config.mk | 1 + 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/core/binary.mk b/core/binary.mk index 4c68ba7845..8c107bdb26 100644 --- a/core/binary.mk +++ b/core/binary.mk @@ -289,25 +289,20 @@ ifeq ($(NATIVE_COVERAGE),true) endif ifneq ($(LOCAL_USE_VNDK),) - # Required VNDK version for vendor modules is BOARD_VNDK_VERSION. - my_api_level := $(BOARD_VNDK_VERSION) - ifeq ($(my_api_level),current) - # Build with current PLATFORM_VNDK_VERSION. - # If PLATFORM_VNDK_VERSION has a CODENAME, it will return - # __ANDROID_API_FUTURE__. - my_api_level := $(call codename-or-sdk-to-sdk,$(PLATFORM_VNDK_VERSION)) - else - # Build with current BOARD_VNDK_VERSION. - my_api_level := $(call codename-or-sdk-to-sdk,$(BOARD_VNDK_VERSION)) - endif my_cflags += -D__ANDROID_VNDK__ ifneq ($(LOCAL_USE_VNDK_VENDOR),) - # Vendor modules have LOCAL_USE_VNDK_VENDOR when - # BOARD_VNDK_VERSION is defined. + # Vendor modules have LOCAL_USE_VNDK_VENDOR my_cflags += -D__ANDROID_VENDOR__ + + ifeq ($(BOARD_API_LEVEL),) + # TODO(b/314036847): This is a fallback for UDC targets. + # This must be a build failure when UDC is no longer built from this source tree. + my_cflags += -D__ANDROID_VENDOR_API__=$(PLATFORM_SDK_VERSION) + else + my_cflags += -D__ANDROID_VENDOR_API__=$(BOARD_API_LEVEL) + endif else ifneq ($(LOCAL_USE_VNDK_PRODUCT),) - # Product modules have LOCAL_USE_VNDK_PRODUCT when - # PRODUCT_PRODUCT_VNDK_VERSION is defined. + # Product modules have LOCAL_USE_VNDK_PRODUCT my_cflags += -D__ANDROID_PRODUCT__ endif endif diff --git a/core/soong_config.mk b/core/soong_config.mk index 30acbbab4d..5fdf416195 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -147,6 +147,7 @@ $(call add_json_bool, SamplingPGO, $(filter true,$(SAMPLIN $(call add_json_bool, ArtUseReadBarrier, $(call invert_bool,$(filter false,$(PRODUCT_ART_USE_READ_BARRIER)))) $(call add_json_str, BtConfigIncludeDir, $(BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR)) $(call add_json_list, DeviceKernelHeaders, $(TARGET_DEVICE_KERNEL_HEADERS) $(TARGET_BOARD_KERNEL_HEADERS) $(TARGET_PRODUCT_KERNEL_HEADERS)) +$(call add_json_str, VendorApiLevel, $(BOARD_API_LEVEL)) $(call add_json_str, DeviceVndkVersion, $(BOARD_VNDK_VERSION)) $(call add_json_str, Platform_vndk_version, $(PLATFORM_VNDK_VERSION)) $(call add_json_list, ExtraVndkVersions, $(PRODUCT_EXTRA_VNDK_VERSIONS))