From 05280dd7af5188e8187fbdcc6bbf5c451d17098d Mon Sep 17 00:00:00 2001 From: Adrian Marius Negreanu Date: Wed, 14 Nov 2012 11:29:48 +0200 Subject: split gralloc.$(TARGET_PRODUCT) Some of the functions in gralloc.$(TARGET_PRODUCT) can be reused. Since one should not link against a HAL library, have gralloc.c as gralloc.$(TARGET_PRODUCT) and extract the reusable code into libgralloc_drm. Change-Id: I08a6989bb0b191ec56662aa4a21f6da7aea6b24d Signed-off-by: Adrian Marius Negreanu --- Android.mk | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/Android.mk b/Android.mk index e675a00..1b598aa 100644 --- a/Android.mk +++ b/Android.mk @@ -53,22 +53,35 @@ ifneq ($(strip $(DRM_GPU_DRIVERS)),) LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) -LOCAL_MODULE := gralloc.$(TARGET_PRODUCT) -LOCAL_MODULE_TAGS := optional +# Use the PREBUILT libraries ifeq ($(strip $(DRM_GPU_DRIVERS)),prebuilt) +include $(CLEAR_VARS) +LOCAL_MODULE := libgralloc_drm +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY) +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX) +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := gralloc.$(TARGET_PRODUCT) +LOCAL_MODULE_TAGS := optional LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw/ LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY) LOCAL_MODULE_CLASS := SHARED_LIBRARIES LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX) include $(BUILD_PREBUILT) +# Use the sources else +include $(CLEAR_VARS) +LOCAL_MODULE := libgralloc_drm +LOCAL_MODULE_TAGS := optional + LOCAL_SRC_FILES := \ - gralloc.c \ gralloc_drm.c \ gralloc_drm_kms.c @@ -82,10 +95,6 @@ LOCAL_SHARED_LIBRARIES := \ libcutils \ libhardware_legacy \ -# for glFlush/glFinish -LOCAL_SHARED_LIBRARIES += \ - libGLESv1_CM - ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),) LOCAL_SRC_FILES += gralloc_drm_intel.c LOCAL_C_INCLUDES += external/drm/intel @@ -135,9 +144,24 @@ LOCAL_STATIC_LIBRARIES += \ libmesa_gallium LOCAL_SHARED_LIBRARIES += libdl endif # DRM_USES_PIPE +include $(BUILD_SHARED_LIBRARY) + + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := \ + gralloc.c \ -LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw +LOCAL_SHARED_LIBRARIES := \ + libgralloc_drm \ + liblog \ +# for glFlush/glFinish +LOCAL_SHARED_LIBRARIES += \ + libGLESv1_CM + +LOCAL_MODULE := gralloc.$(TARGET_PRODUCT) +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw/ include $(BUILD_SHARED_LIBRARY) endif # DRM_GPU_DRIVERS=prebuilt -- cgit v1.1