| # |
| # 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) |