Merge "Add PLATFORM_SYSTEMSDK_VERSIONS and BOARD_SYSTEMSDK_VERSIONS" am: ae891fb19e
am: 4de1dc97c0
am: 2c975edc0e
Change-Id: I41a3895bd273acf41481659782d0c9b410b24ea0
This commit is contained in:
commit
d8432e2384
6 changed files with 93 additions and 20 deletions
|
@ -86,7 +86,7 @@ $(call pretty-error,Only one of LOCAL_PROPRIETARY_MODULE[$(LOCAL_PROPRIETARY_MOD
|
|||
endif
|
||||
|
||||
include $(BUILD_SYSTEM)/local_vndk.mk
|
||||
include $(BUILD_SYSTEM)/local_vsdk.mk
|
||||
include $(BUILD_SYSTEM)/local_systemsdk.mk
|
||||
|
||||
my_module_tags := $(LOCAL_MODULE_TAGS)
|
||||
ifeq ($(my_host_cross),true)
|
||||
|
|
|
@ -304,6 +304,13 @@ ifdef PRODUCT_EXTRA_VNDK_VERSIONS
|
|||
$(foreach v,$(PRODUCT_EXTRA_VNDK_VERSIONS),$(call check_vndk_version,$(v)))
|
||||
endif
|
||||
|
||||
# Ensure that BOARD_SYSTEMSDK_VERSIONS are all within PLATFORM_SYSTEMSDK_VERSIONS
|
||||
_unsupported_systemsdk_versions := $(filter-out $(PLATFORM_SYSTEMSDK_VERSIONS),$(BOARD_SYSTEMSDK_VERSIONS))
|
||||
ifneq (,$(_unsupported_systemsdk_versions))
|
||||
$(error System SDK versions '$(_unsupported_systemsdk_versions)' in BOARD_SYSTEMSDK_VERSIONS are not supported.\
|
||||
Supported versions are $(PLATFORM_SYSTEMSDK_VERSIONS))
|
||||
endif
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Set up configuration for target machine.
|
||||
# The following must be set:
|
||||
|
|
56
core/local_systemsdk.mk
Normal file
56
core/local_systemsdk.mk
Normal file
|
@ -0,0 +1,56 @@
|
|||
#
|
||||
# Copyright (C) 2018 The Android Open Source Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
ifdef BOARD_SYSTEMSDK_VERSIONS
|
||||
# Apps and jars in vendor or odm partition are forced to build against System SDK.
|
||||
_is_vendor_app :=
|
||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||
# Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already
|
||||
# set correctly before this is included.
|
||||
_is_vendor_app := true
|
||||
endif
|
||||
ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS)))
|
||||
ifndef LOCAL_SDK_VERSION
|
||||
ifeq ($(_is_vendor_app),true)
|
||||
LOCAL_SDK_VERSION := system_current
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Ensure that the selected System SDK version is one of the supported versions.
|
||||
# The range of support versions becomes narrower when BOARD_SYSTEMSDK_VERSIONS
|
||||
# is set, which is a subset of PLATFORM_SYSTEMSDK_VERSIONS.
|
||||
ifneq (,$(call has-system-sdk-version,$(LOCAL_SDK_VERSION)))
|
||||
ifneq ($(_is_vendor_app),true)
|
||||
# apps bundled in system partition can use all system sdk versions provided by the platform
|
||||
_supported_systemsdk_versions := $(PLATFORM_SYSTEMSDK_VERSIONS)
|
||||
else ifdef BOARD_SYSTEMSDK_VERSIONS
|
||||
# When BOARD_SYSTEMSDK_VERSIONS is set, vendors apps are restricted to use those versions
|
||||
# which is equal to or smaller than PLATFORM_SYSTEMSDK_VERSIONS
|
||||
_supported_systemsdk_versions := $(BOARD_SYSTEMSDK_VERSIONS)
|
||||
else
|
||||
# If not, vendor apks are treated equally to system apps
|
||||
_supported_systemsdk_versions := $(PLATFORM_SYSTEMSDK_VERSIONS)
|
||||
endif
|
||||
_system_sdk_version := $(call get-numeric-sdk-version,$(LOCAL_SDK_VERSION))
|
||||
ifneq ($(_system_sdk_version),$(filter $(_system_sdk_version),$(_supported_systemsdk_versions)))
|
||||
$(call pretty-error,Incompatible LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)'. \
|
||||
System SDK version '$(_system_sdk_version)' is not supported. Supported versions are: $(_supported_systemsdk_versions))
|
||||
endif
|
||||
_system_sdk_version :=
|
||||
_supported_systemsdk_versions :=
|
||||
endif
|
|
@ -1,19 +0,0 @@
|
|||
|
||||
ifdef BOARD_VSDK_VERSION
|
||||
# Set LOCAL_SDK_VERSION to system_current, If LOCAL_SDK_VERSION is not defined and LOCAL_VENDOR_MODULE is true
|
||||
_is_vendor_app :=
|
||||
ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_OEM_MODULE) $(LOCAL_PROPRIETARY_MODULE)))
|
||||
_is_vendor_app := true
|
||||
else
|
||||
ifneq (,$(filter $(TARGET_OUT_VENDOR)%,$(LOCAL_MODULE_PATH) $(LOCAL_MODULE_PATH_32) $(LOCAL_MODULE_PATH_64)))
|
||||
_is_vendor_app := true
|
||||
endif
|
||||
endif
|
||||
ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS)))
|
||||
ifndef LOCAL_SDK_VERSION
|
||||
ifeq ($(_is_vendor_app),true)
|
||||
LOCAL_SDK_VERSION := system_current
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
|
@ -113,6 +113,8 @@ $(call add_json_bool, DevicePrefer32BitExecutables, $(filter true,$(TARGET_
|
|||
$(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))
|
||||
$(call add_json_list, DeviceSystemSdkVersions, $(BOARD_SYSTEMSDK_VERSIONS))
|
||||
$(call add_json_list, Platform_systemsdk_versions, $(PLATFORM_SYSTEMSDK_VERSIONS))
|
||||
$(call add_json_bool, Malloc_not_svelte, $(call invert_bool,$(filter true,$(MALLOC_SVELTE))))
|
||||
$(call add_json_str, Override_rs_driver, $(OVERRIDE_RS_DRIVER))
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
# BUILD_DATETIME
|
||||
# PLATFORM_SECURITY_PATCH
|
||||
# PLATFORM_VNDK_VERSION
|
||||
# PLATFORM_SYSTEMSDK_VERSIONS
|
||||
#
|
||||
|
||||
# Look for an optional file containing overrides of the defaults,
|
||||
|
@ -202,6 +203,32 @@ ifndef PLATFORM_VNDK_VERSION
|
|||
endif
|
||||
endif
|
||||
|
||||
ifndef PLATFORM_SYSTEMSDK_MIN_VERSION
|
||||
# This is the oldest version of system SDK that the platform supports. Contrary
|
||||
# to the public SDK where platform essentially supports all previous SDK versions,
|
||||
# platform supports only a few number of recent system SDK versions as some of
|
||||
# old system APIs are gradually deprecated, removed and then deleted.
|
||||
# However, currently in P, we only support the single latest version since there
|
||||
# is no old system SDK versions. Therefore, this is set to empty for now. This
|
||||
# should later (in post P) be set to a number, like 28.
|
||||
PLATFORM_SYSTEMSDK_MIN_VERSION :=
|
||||
endif
|
||||
|
||||
# This is the list of system SDK versions that the current platform supports.
|
||||
PLATFORM_SYSTEMSDK_VERSIONS :=
|
||||
ifneq (,$(PLATFORM_SYSTEMSDK_MIN_VERSION))
|
||||
$(if $(call math_is_number,$(PLATFORM_SYSTEMSDK_MIN_VERSION)),,\
|
||||
$(error PLATFORM_SYSTEMSDK_MIN_VERSION must be a number, but was $(PLATFORM_SYSTEMSDK_MIN_VERSION)))
|
||||
PLATFORM_SYSTEMSDK_VERSIONS := $(call int_range_list,$(PLATFORM_SYSTEMSDK_MIN_VERSION),$(PLATFORM_SDK_VERSION))
|
||||
endif
|
||||
# Platform always supports the current version
|
||||
ifeq (REL,$(PLATFORM_VERSION_CODENAME))
|
||||
PLATFORM_SYSTEMSDK_VERSIONS += $(PLATFORM_SDK_VERSION)
|
||||
else
|
||||
PLATFORM_SYSTEMSDK_VERSIONS += $(PLATFORM_VERSION_CODENAME)
|
||||
endif
|
||||
PLATFORM_SYSTEMSDK_VERSIONS := $(strip $(sort $(PLATFORM_SYSTEMSDK_VERSIONS)))
|
||||
|
||||
ifndef PLATFORM_SECURITY_PATCH
|
||||
# Used to indicate the security patch that has been applied to the device.
|
||||
# It must signify that the build includes all security patches issued up through the designated Android Public Security Bulletin.
|
||||
|
|
Loading…
Reference in a new issue