github.com/westcoastroms/westcoastroms-build@v0.0.0-20190928114312-2350e5a73030/build/make/core/local_systemsdk.mk (about) 1 # 2 # Copyright (C) 2018 The Android Open Source Project 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 17 ifdef BOARD_SYSTEMSDK_VERSIONS 18 # Apps and jars in vendor or odm partition are forced to build against System SDK. 19 _is_vendor_app := 20 ifneq (,$(filter true,$(LOCAL_VENDOR_MODULE) $(LOCAL_ODM_MODULE) $(LOCAL_PROPRIETARY_MODULE))) 21 # Note: no need to check LOCAL_MODULE_PATH* since LOCAL_[VENDOR|ODM|OEM]_MODULE is already 22 # set correctly before this is included. 23 _is_vendor_app := true 24 endif 25 ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) 26 ifndef LOCAL_SDK_VERSION 27 ifeq ($(_is_vendor_app),true) 28 ifeq (,$(findstring __auto_generated_rro,$(LOCAL_MODULE))) 29 # Runtime resource overlay for framework-res is exempted from building 30 # against System SDK. 31 # TODO(b/35859726): remove this exception 32 LOCAL_SDK_VERSION := system_current 33 endif 34 endif 35 endif 36 endif 37 endif 38 39 # Ensure that the selected System SDK version is one of the supported versions. 40 # The range of support versions becomes narrower when BOARD_SYSTEMSDK_VERSIONS 41 # is set, which is a subset of PLATFORM_SYSTEMSDK_VERSIONS. 42 ifneq (,$(call has-system-sdk-version,$(LOCAL_SDK_VERSION))) 43 ifneq ($(_is_vendor_app),true) 44 # apps bundled in system partition can use all system sdk versions provided by the platform 45 _supported_systemsdk_versions := $(PLATFORM_SYSTEMSDK_VERSIONS) 46 else ifdef BOARD_SYSTEMSDK_VERSIONS 47 # When BOARD_SYSTEMSDK_VERSIONS is set, vendors apps are restricted to use those versions 48 # which is equal to or smaller than PLATFORM_SYSTEMSDK_VERSIONS 49 _supported_systemsdk_versions := $(BOARD_SYSTEMSDK_VERSIONS) 50 else 51 # If not, vendor apks are treated equally to system apps 52 _supported_systemsdk_versions := $(PLATFORM_SYSTEMSDK_VERSIONS) 53 endif 54 _system_sdk_version := $(call get-numeric-sdk-version,$(LOCAL_SDK_VERSION)) 55 ifneq ($(_system_sdk_version),$(filter $(_system_sdk_version),$(_supported_systemsdk_versions))) 56 $(call pretty-error,Incompatible LOCAL_SDK_VERSION '$(LOCAL_SDK_VERSION)'. \ 57 System SDK version '$(_system_sdk_version)' is not supported. Supported versions are: $(_supported_systemsdk_versions)) 58 endif 59 _system_sdk_version := 60 _supported_systemsdk_versions := 61 endif