diff options
Diffstat (limited to 'Android.mk')
-rwxr-xr-x | Android.mk | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk new file mode 100755 index 0000000..d3bc196 --- /dev/null +++ b/Android.mk @@ -0,0 +1,119 @@ +# +# Copyright (C) 2010 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. + +LOCAL_PATH := $(call my-dir) + +MALI_ARCHITECTURE_UTGARD?=0 +MALI_ION?=1 +GRALLOC_VSYNC_BACKEND?=default +DISABLE_FRAMEBUFFER_HAL?=0 +MALI_SUPPORT_AFBC_WIDEBLK?=0 + +# HAL module implemenation, not prelinked and stored in +# hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so +include $(CLEAR_VARS) +include $(BUILD_SYSTEM)/version_defaults.mk + +ifeq ($(MALI_ARCHITECTURE_UTGARD),1) + # Utgard build settings + MALI_LOCAL_PATH?=hardware/arm/mali + GRALLOC_DEPTH?=GRALLOC_32_BITS + GRALLOC_FB_SWAP_RED_BLUE?=1 + MALI_DDK_INCLUDES=$(MALI_LOCAL_PATH)/include $(MALI_LOCAL_PATH)/src/ump/include + LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw + ifeq ($(MALI_ION),1) + ALLOCATION_LIB := libion + ALLOCATOR_SPECIFIC_FILES := alloc_ion.cpp gralloc_module_ion.cpp + else + ALLOCATION_LIB := libUMP + ALLOCATOR_SPECIFIC_FILES := alloc_ump.cpp gralloc_module_ump.cpp + endif +else + # Midgard build settings + MALI_LOCAL_PATH?=vendor/arm/mali6xx + GRALLOC_DEPTH?=GRALLOC_16_BITS + GRALLOC_FB_SWAP_RED_BLUE?=0 + MALI_DDK_INCLUDES=$(MALI_LOCAL_PATH)/include $(MALI_LOCAL_PATH)/kernel/include + LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/hw + ifeq ($(MALI_ION),1) + ALLOCATION_LIB := libion + ALLOCATOR_SPECIFIC_FILES := alloc_ion.cpp gralloc_module_ion.cpp + else + ALLOCATION_LIB := libGLES_mali + ALLOCATOR_SPECIFIC_FILES := alloc_ump.cpp gralloc_module_ump.cpp + endif +endif + +ifeq ($(MALI_AFBC_GRALLOC), 1) +AFBC_FILES = gralloc_buffer_priv.cpp +else +MALI_AFBC_GRALLOC := 0 +AFBC_FILES = +endif + +#If cropping should be enabled for AFBC YUV420 buffers +AFBC_YUV420_EXTRA_MB_ROW_NEEDED = 0 + +ifdef MALI_DISPLAY_VERSION +#if Mali display is available, should disable framebuffer HAL +DISABLE_FRAMEBUFFER_HAL := 1 +endif + +LOCAL_PRELINK_MODULE := false + + +LOCAL_SHARED_LIBRARIES := libhardware liblog libcutils libGLESv1_CM $(ALLOCATION_LIB) +LOCAL_C_INCLUDES := $(MALI_LOCAL_PATH) $(MALI_DDK_INCLUDES) +LOCAL_CFLAGS := -DLOG_TAG=\"gralloc\" -DSTANDARD_LINUX_SCREEN -DMALI_ION=$(MALI_ION) -DMALI_AFBC_GRALLOC=$(MALI_AFBC_GRALLOC) -D$(GRALLOC_DEPTH) -DMALI_ARCHITECTURE_UTGARD=$(MALI_ARCHITECTURE_UTGARD) -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) -DDISABLE_FRAMEBUFFER_HAL=$(DISABLE_FRAMEBUFFER_HAL) -DMALI_SUPPORT_AFBC_WIDEBLK=$(MALI_SUPPORT_AFBC_WIDEBLK) -DAFBC_YUV420_EXTRA_MB_ROW_NEEDED=$(AFBC_YUV420_EXTRA_MB_ROW_NEEDED) + +ifdef MALI_DISPLAY_VERSION +LOCAL_CFLAGS += -DMALI_DISPLAY_VERSION=$(MALI_DISPLAY_VERSION) +endif + +ifeq ($(wildcard system/core/libion/include/ion/ion.h),) +LOCAL_C_INCLUDES += system/core/include +LOCAL_CFLAGS += -DGRALLOC_OLD_ION_API +else +LOCAL_C_INCLUDES += system/core/libion/include +endif + +ifeq ($(GRALLOC_FB_SWAP_RED_BLUE),1) +LOCAL_CFLAGS += -DGRALLOC_FB_SWAP_RED_BLUE +endif + +LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/hw +LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/hw +ifeq ($(TARGET_BOARD_PLATFORM),) +LOCAL_MODULE := gralloc.default +else +LOCAL_MODULE := gralloc.$(TARGET_BOARD_PLATFORM) +endif + +LOCAL_MODULE_TAGS := optional +LOCAL_MULTILIB := both + +LOCAL_SRC_FILES := \ + gralloc_module.cpp \ + alloc_device.cpp \ + $(ALLOCATOR_SPECIFIC_FILES) \ + framebuffer_device.cpp \ + format_chooser.cpp \ + format_chooser_blockinit.cpp \ + $(AFBC_FILES) \ + gralloc_vsync_${GRALLOC_VSYNC_BACKEND}.cpp + +include $(BUILD_SHARED_LIBRARY) |