Home | History | Annotate | Download | only in drm_gralloc
      1 # Copyright (C) 2010 Chia-I Wu <olvaffe (a] gmail.com>
      2 # Copyright (C) 2010-2011 LunarG Inc.
      3 # 
      4 # Permission is hereby granted, free of charge, to any person obtaining a
      5 # copy of this software and associated documentation files (the "Software"),
      6 # to deal in the Software without restriction, including without limitation
      7 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
      8 # and/or sell copies of the Software, and to permit persons to whom the
      9 # Software is furnished to do so, subject to the following conditions:
     10 # 
     11 # The above copyright notice and this permission notice shall be included
     12 # in all copies or substantial portions of the Software.
     13 # 
     14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     20 # DEALINGS IN THE SOFTWARE.
     21 
     22 # Android.mk for drm_gralloc
     23 
     24 DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
     25 
     26 intel_drivers := i915 i965 i915g ilo
     27 radeon_drivers := r300g r600g
     28 rockchip_drivers := rockchip
     29 nouveau_drivers := nouveau
     30 vmwgfx_drivers := vmwgfx
     31 
     32 valid_drivers := \
     33 	prebuilt \
     34 	$(intel_drivers) \
     35 	$(radeon_drivers) \
     36 	$(rockchip_drivers) \
     37 	$(nouveau_drivers) \
     38 	$(vmwgfx_drivers)
     39 
     40 # warn about invalid drivers
     41 invalid_drivers := $(filter-out $(valid_drivers), $(DRM_GPU_DRIVERS))
     42 ifneq ($(invalid_drivers),)
     43 $(warning invalid GPU drivers: $(invalid_drivers))
     44 # tidy up
     45 DRM_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(DRM_GPU_DRIVERS))
     46 endif
     47 
     48 ifneq ($(filter $(vmwgfx_drivers), $(DRM_GPU_DRIVERS)),)
     49 DRM_USES_PIPE := true
     50 else
     51 DRM_USES_PIPE := false
     52 endif
     53 
     54 ifneq ($(strip $(DRM_GPU_DRIVERS)),)
     55 
     56 LOCAL_PATH := $(call my-dir)
     57 
     58 
     59 # Use the PREBUILT libraries
     60 ifeq ($(strip $(DRM_GPU_DRIVERS)),prebuilt)
     61 
     62 include $(CLEAR_VARS)
     63 LOCAL_MODULE := libgralloc_drm
     64 LOCAL_MODULE_TAGS := optional
     65 LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
     66 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
     67 LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
     68 include $(BUILD_PREBUILT)
     69 
     70 include $(CLEAR_VARS)
     71 LOCAL_MODULE := gralloc.$(TARGET_PRODUCT)
     72 LOCAL_MODULE_TAGS := optional
     73 LOCAL_MODULE_RELATIVE_PATH := hw
     74 LOCAL_SRC_FILES := ../../$(BOARD_GPU_DRIVER_BINARY)
     75 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
     76 LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX)
     77 include $(BUILD_PREBUILT)
     78 
     79 # Use the sources
     80 else
     81 
     82 include $(CLEAR_VARS)
     83 LOCAL_MODULE := libgralloc_drm
     84 LOCAL_MODULE_TAGS := optional
     85 
     86 LOCAL_SRC_FILES := \
     87 	gralloc_drm.cpp
     88 
     89 LOCAL_C_INCLUDES := \
     90 	external/libdrm \
     91 	external/libdrm/include/drm
     92 
     93 LOCAL_SHARED_LIBRARIES := \
     94 	libdrm \
     95 	liblog \
     96 	libcutils \
     97 	libhardware_legacy \
     98 	libutils
     99 
    100 ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
    101 LOCAL_SRC_FILES += gralloc_drm_intel.c
    102 LOCAL_C_INCLUDES += external/libdrm/intel
    103 LOCAL_CFLAGS += -DENABLE_INTEL
    104 LOCAL_SHARED_LIBRARIES += libdrm_intel
    105 endif
    106 
    107 ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
    108 LOCAL_SRC_FILES += gralloc_drm_radeon.c
    109 LOCAL_C_INCLUDES += external/libdrm/radeon
    110 LOCAL_CFLAGS += -DENABLE_RADEON
    111 LOCAL_SHARED_LIBRARIES += libdrm_radeon
    112 endif
    113 
    114 ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
    115 LOCAL_SRC_FILES += gralloc_drm_nouveau.c
    116 LOCAL_C_INCLUDES += external/libdrm/nouveau
    117 LOCAL_CFLAGS += -DENABLE_NOUVEAU
    118 LOCAL_SHARED_LIBRARIES += libdrm_nouveau
    119 endif
    120 
    121 ifneq ($(filter $(rockchip_drivers), $(DRM_GPU_DRIVERS)),)
    122 LOCAL_SRC_FILES += gralloc_drm_rockchip.c
    123 LOCAL_CFLAGS += -DENABLE_ROCKCHIP
    124 LOCAL_SHARED_LIBRARIES += libdrm_rockchip
    125 endif
    126 
    127 ifeq ($(strip $(DRM_USES_PIPE)),true)
    128 LOCAL_SRC_FILES += gralloc_drm_pipe.c
    129 LOCAL_CFLAGS += -DENABLE_PIPE
    130 LOCAL_C_INCLUDES += \
    131 	external/mesa/include \
    132 	external/mesa/src/gallium/include \
    133 	external/mesa/src/gallium/winsys \
    134 	external/mesa/src/gallium/drivers \
    135 	external/mesa/src/gallium/auxiliary
    136 
    137 ifneq ($(filter r600g, $(DRM_GPU_DRIVERS)),)
    138 LOCAL_CFLAGS += -DENABLE_PIPE_R600
    139 LOCAL_STATIC_LIBRARIES += \
    140 	libmesa_pipe_r600 \
    141 	libmesa_pipe_radeon \
    142 	libmesa_winsys_radeon
    143 endif
    144 ifneq ($(filter vmwgfx, $(DRM_GPU_DRIVERS)),)
    145 LOCAL_CFLAGS += -DENABLE_PIPE_VMWGFX
    146 LOCAL_STATIC_LIBRARIES += \
    147 	libmesa_pipe_svga \
    148 	libmesa_winsys_svga
    149 LOCAL_C_INCLUDES += \
    150 	external/mesa/src/gallium/drivers/svga/include
    151 endif
    152 
    153 LOCAL_STATIC_LIBRARIES += \
    154 	libmesa_gallium
    155 LOCAL_SHARED_LIBRARIES += libdl
    156 endif # DRM_USES_PIPE
    157 include $(BUILD_SHARED_LIBRARY)
    158 
    159 
    160 include $(CLEAR_VARS)
    161 LOCAL_SRC_FILES := \
    162 	gralloc.cpp
    163 
    164 LOCAL_C_INCLUDES := \
    165 	external/libdrm \
    166 	external/libdrm/include/drm
    167 
    168 LOCAL_SHARED_LIBRARIES := \
    169 	libgralloc_drm \
    170 	liblog \
    171 	libutils
    172 
    173 # for glFlush/glFinish
    174 LOCAL_SHARED_LIBRARIES += \
    175 	libGLESv1_CM
    176 
    177 LOCAL_MODULE := gralloc.drm
    178 LOCAL_MODULE_TAGS := optional
    179 LOCAL_MODULE_RELATIVE_PATH := hw
    180 include $(BUILD_SHARED_LIBRARY)
    181 
    182 endif # DRM_GPU_DRIVERS=prebuilt
    183 endif # DRM_GPU_DRIVERS
    184