1 # Copyright (C) 2010 Chia-I Wu <olvaffe@gmail.com>
2 # Copyright (C) 2010-2011 LunarG Inc.
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:
11 # The above copyright notice and this permission notice shall be included
12 # in all copies or substantial portions of the Software.
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.
22 # Android.mk for drm_gralloc
24 DRM_GPU_DRIVERS := $(strip $(filter-out swrast, $(BOARD_GPU_DRIVERS)))
26 freedreno_drivers := freedreno
27 intel_drivers := i915 i965 i915g ilo
28 radeon_drivers := r300g r600g
29 nouveau_drivers := nouveau
30 vmwgfx_drivers := vmwgfx
34 $(freedreno_drivers) \
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))
45 DRM_GPU_DRIVERS := $(filter-out $(invalid_drivers), $(DRM_GPU_DRIVERS))
48 ifneq ($(filter $(vmwgfx_drivers), $(DRM_GPU_DRIVERS)),)
51 DRM_USES_PIPE := false
54 ifneq ($(strip $(DRM_GPU_DRIVERS)),)
56 LOCAL_PATH := $(call my-dir)
59 # Use the PREBUILT libraries
60 ifeq ($(strip $(DRM_GPU_DRIVERS)),prebuilt)
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)
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)
83 LOCAL_MODULE := libgralloc_drm
84 LOCAL_MODULE_TAGS := optional
86 LOCAL_CFLAGS := -std=c99
94 external/drm/include/drm
96 LOCAL_SHARED_LIBRARIES := \
102 ifneq ($(filter $(freedreno_drivers), $(DRM_GPU_DRIVERS)),)
103 LOCAL_SRC_FILES += gralloc_drm_freedreno.c
104 LOCAL_C_INCLUDES += external/drm/freedreno
105 LOCAL_CFLAGS += -DENABLE_FREEDRENO
106 LOCAL_SHARED_LIBRARIES += libdrm_freedreno
109 ifneq ($(filter $(intel_drivers), $(DRM_GPU_DRIVERS)),)
110 LOCAL_SRC_FILES += gralloc_drm_intel.c
111 LOCAL_C_INCLUDES += external/drm/intel
112 LOCAL_CFLAGS += -DENABLE_INTEL
113 LOCAL_SHARED_LIBRARIES += libdrm_intel
116 ifneq ($(filter $(radeon_drivers), $(DRM_GPU_DRIVERS)),)
117 LOCAL_SRC_FILES += gralloc_drm_radeon.c
118 LOCAL_C_INCLUDES += external/drm/radeon
119 LOCAL_CFLAGS += -DENABLE_RADEON
120 LOCAL_SHARED_LIBRARIES += libdrm_radeon
123 ifneq ($(filter $(nouveau_drivers), $(DRM_GPU_DRIVERS)),)
124 LOCAL_SRC_FILES += gralloc_drm_nouveau.c
125 LOCAL_C_INCLUDES += external/drm/nouveau
126 LOCAL_CFLAGS += -DENABLE_NOUVEAU
127 LOCAL_SHARED_LIBRARIES += libdrm_nouveau
130 ifeq ($(strip $(DRM_USES_PIPE)),true)
131 LOCAL_SRC_FILES += gralloc_drm_pipe.c
132 LOCAL_CFLAGS += -DENABLE_PIPE
133 LOCAL_C_INCLUDES += \
134 external/mesa/include \
136 external/mesa/src/gallium/include \
137 external/mesa/src/gallium/winsys \
138 external/mesa/src/gallium/drivers \
139 external/mesa/src/gallium/auxiliary
141 ifneq ($(filter r600g, $(DRM_GPU_DRIVERS)),)
142 LOCAL_CFLAGS += -DENABLE_PIPE_R600
143 LOCAL_SHARED_LIBRARIES += libstlport
144 LOCAL_STATIC_LIBRARIES += \
146 libmesa_pipe_radeon \
147 libmesa_winsys_radeon
149 ifneq ($(filter vmwgfx, $(DRM_GPU_DRIVERS)),)
150 LOCAL_CFLAGS += -DENABLE_PIPE_VMWGFX
151 LOCAL_STATIC_LIBRARIES += \
154 LOCAL_C_INCLUDES += \
155 external/mesa/src/gallium/drivers/svga/include
158 LOCAL_STATIC_LIBRARIES += \
162 LOCAL_SHARED_LIBRARIES += libdl
163 endif # DRM_USES_PIPE
164 include $(BUILD_SHARED_LIBRARY)
167 include $(CLEAR_VARS)
171 LOCAL_C_INCLUDES := \
173 external/drm/include/drm \
175 LOCAL_SHARED_LIBRARIES := \
179 # for glFlush/glFinish
180 LOCAL_SHARED_LIBRARIES += \
183 LOCAL_MODULE := gralloc.drm
184 LOCAL_MODULE_TAGS := optional
185 LOCAL_MODULE_RELATIVE_PATH := hw
186 include $(BUILD_SHARED_LIBRARY)
188 endif # DRM_GPU_DRIVERS=prebuilt
189 endif # DRM_GPU_DRIVERS