blob: 5e6623e2bfa042b268a787863b33714e9e83f00f [file] [log] [blame]
#
# 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.
TOP_LOCAL_PATH := $(call my-dir)
MALI_GRALLOC_API_TESTS?=0
ifdef GRALLOC_USE_GRALLOC1_API
ifdef GRALLOC_API_VERSION
$(warning GRALLOC_API_VERSION flag is not compatible with GRALLOC_USE_GRALLOC1_API)
endif
endif
include $(TOP_LOCAL_PATH)/gralloc.version.mk
# Place and access VPU library from /vendor directory in unit testing as default
# /system is not in the linker permitted paths
ifeq ($(MALI_GRALLOC_API_TESTS), 1)
MALI_GRALLOC_VPU_LIBRARY_PATH := \"/vendor/lib/\"
endif
#Build allocator for 2.x and gralloc libhardware HAL for all previous versions
GRALLOC_MAPPER := 0
ifeq ($(shell expr $(GRALLOC_VERSION_MAJOR) \>= 2), 1)
$(info Build Gralloc allocator for 2.x)
else ifeq ($(shell expr $(GRALLOC_VERSION_MAJOR) \>= 1), 1)
$(info Build Gralloc 1.x libhardware HAL)
else
$(info Build Gralloc 0.x libhardware HAL)
endif
include $(TOP_LOCAL_PATH)/src/Android.mk
# Build gralloc mapper for 2.x
ifeq ($(shell expr $(GRALLOC_VERSION_MAJOR) \>= 2), 1)
GRALLOC_MAPPER := 1
$(info Build Gralloc mapper for 2.x)
include $(TOP_LOCAL_PATH)/src/Android.mk
endif
# Build gralloc api tests.
ifeq ($(MALI_GRALLOC_API_TESTS), 1)
$(info Build gralloc API tests.)
include $(TOP_LOCAL_PATH)/api_tests/Android.mk
endif
####################################################################################################
include $(CLEAR_VARS)
include $(TOP_LOCAL_PATH)/gralloc.version.mk
LOCAL_SHARED_LIBRARIES := \
liblog \
libcutils \
libutils \
android.hardware.graphics.mapper@2.0 \
libsync \
libhardware \
libhidlbase \
libhidltransport \
libnativewindow \
libion_google \
libdmabufheap
LOCAL_STATIC_LIBRARIES := libarect
LOCAL_HEADER_LIBRARIES := libnativebase_headers
LOCAL_C_INCLUDES := \
$(TOP)/hardware/google/gchips/include \
$(TOP)/hardware/google/gchips/gralloc3/include \
$(TARGET_BOARD_KERNEL_HEADERS)
LOCAL_SRC_FILES := \
gralloc_vendor_interface.cpp \
mali_gralloc_ion.cpp \
gralloc_buffer_priv.cpp \
format_info.cpp \
mali_gralloc_bufferallocation.cpp \
mali_gralloc_formats.cpp \
mali_gralloc_debug.cpp
# TODO(find out why setting this to $(HIDL_MAPPER_VERSION_SCALED) doesn't work)
LOCAL_CFLAGS := -DHIDL_MAPPER_VERSION_SCALED=200
LOCAL_CFLAGS += -DGRALLOC_VERSION_MAJOR=$(GRALLOC_VERSION_MAJOR)
LOCAL_CFLAGS += -DGRALLOC_HFR_BATCH_SIZE=8
LOCAL_CFLAGS += -DMALI_GRALLOC_GPU_LIBRARY_PATH1=$(MALI_GRALLOC_GPU_LIBRARY_64_PATH1)
LOCAL_CFLAGS += -DMALI_GRALLOC_GPU_LIBRARY_PATH2=$(MALI_GRALLOC_GPU_LIBRARY_64_PATH2)
ifeq ($(BOARD_EXYNOS_S10B_FORMAT_ALIGN), 64)
LOCAL_CFLAGS += -DBOARD_EXYNOS_S10B_FORMAT_ALIGN=$(BOARD_EXYNOS_S10B_FORMAT_ALIGN)
else
LOCAL_CFLAGS += -DBOARD_EXYNOS_S10B_FORMAT_ALIGN=16
endif
LOCAL_CFLAGS += -DGRALLOC_LIBRARY_BUILD=1
ifeq ($(BOARD_USES_VENDORIMAGE), true)
LOCAL_PROPRIETARY_MODULE := true
endif
LOCAL_MODULE := libGrallocWrapper
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
LOCAL_LICENSE_CONDITIONS := notice
include $(BUILD_SHARED_LIBRARY)