# # Copyright (C) 2016-2018 ARM Limited. All rights reserved. # # Copyright (C) 2008 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. # List of all valid Gralloc versions GRALLOC_VALID_VERSIONS := 0.x 1.x 2.x #Set default Gralloc version PLATFORM_SDK_GREATER_THAN_24 := $(shell expr $(PLATFORM_SDK_VERSION) \> 24) ifeq ($(PLATFORM_SDK_GREATER_THAN_24), 1) GRALLOC_API_VERSION?=1.x else GRALLOC_API_VERSION?=0.x endif ifdef GRALLOC_USE_GRALLOC1_API ifeq ($(GRALLOC_USE_GRALLOC1_API), 1) GRALLOC_API_VERSION := 1.x else ifeq ($(GRALLOC_USE_GRALLOC1_API), 0) GRALLOC_API_VERSION := 0.x endif endif endif # Fail build if GRALLOC_API_VERSION isn't one of the following. ifeq ($(filter $(GRALLOC_API_VERSION),$(GRALLOC_VALID_VERSIONS)),) $(error Gralloc version $(GRALLOC_API_VERSION) is not valid. Valid versions are $(GRALLOC_VALID_VERSIONS)) endif # Derive namespaces and associated (internal and scaled) versions for Gralloc 2.x # Note: On a given SDK platform, versions of Allocator / Mapper / Common can be # changed (somewhat) independently of each other. Scaled internal versions, encapsulating # their major and minor versions, provide for building specific combinations ifeq ($(GRALLOC_API_VERSION), 2.x) ifeq ($(shell expr $(PLATFORM_SDK_VERSION) \> 27), 1) HIDL_IMAPPER_NAMESPACE := V2_1 HIDL_IALLOCATOR_NAMESPACE := V2_0 HIDL_COMMON_NAMESPACE := V1_1 #Allocator = 2.0, Mapper = 2.1 and Common = 1.1 HIDL_ALLOCATOR_VERSION_SCALED := 200 HIDL_MAPPER_VERSION_SCALED := 210 HIDL_COMMON_VERSION_SCALED := 110 else ifeq ($(shell expr $(PLATFORM_SDK_VERSION) \> 25), 1) HIDL_IMAPPER_NAMESPACE := V2_0 HIDL_IALLOCATOR_NAMESPACE := V2_0 HIDL_COMMON_NAMESPACE := V1_0 #Allocator = 2.0, Mapper = 2.0 and Common = 1.0 HIDL_ALLOCATOR_VERSION_SCALED := 200 HIDL_MAPPER_VERSION_SCALED := 200 HIDL_COMMON_VERSION_SCALED := 100 else $(error Gralloc 2.x is not supported on platform SDK version $(PLATFORM_SDK_VERSION)) endif endif GRALLOC_VERSION_MAJOR := $(shell echo $(GRALLOC_API_VERSION) | cut -d. -f1)