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