1 # Mesa 3-D graphics library 2 # 3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe (a] gmail.com> 4 # Copyright (C) 2010-2011 LunarG Inc. 5 # 6 # Permission is hereby granted, free of charge, to any person obtaining a 7 # copy of this software and associated documentation files (the "Software"), 8 # to deal in the Software without restriction, including without limitation 9 # the rights to use, copy, modify, merge, publish, distribute, sublicense, 10 # and/or sell copies of the Software, and to permit persons to whom the 11 # Software is furnished to do so, subject to the following conditions: 12 # 13 # The above copyright notice and this permission notice shall be included 14 # in all copies or substantial portions of the Software. 15 # 16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22 # DEALINGS IN THE SOFTWARE. 23 24 # Android.mk for libGLES_mesa 25 26 LOCAL_PATH := $(call my-dir) 27 28 # from Makefile 29 SOURCES = \ 30 eglapi.c \ 31 eglarray.c \ 32 eglconfig.c \ 33 eglcontext.c \ 34 eglcurrent.c \ 35 egldisplay.c \ 36 egldriver.c \ 37 eglfallbacks.c \ 38 eglglobals.c \ 39 eglimage.c \ 40 egllog.c \ 41 eglmisc.c \ 42 eglmode.c \ 43 eglscreen.c \ 44 eglstring.c \ 45 eglsurface.c \ 46 eglsync.c 47 48 # --------------------------------------- 49 # Build libGLES_mesa 50 # --------------------------------------- 51 52 include $(CLEAR_VARS) 53 54 LOCAL_SRC_FILES := $(SOURCES) 55 56 LOCAL_CFLAGS := \ 57 -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID \ 58 -D_EGL_DRIVER_SEARCH_DIR=\"/system/lib/egl\" \ 59 -D_EGL_OS_UNIX=1 60 61 LOCAL_STATIC_LIBRARIES := 62 63 LOCAL_SHARED_LIBRARIES := \ 64 libglapi \ 65 libdl \ 66 libhardware \ 67 liblog \ 68 libcutils 69 70 # add libdrm if there are hardware drivers 71 ifneq ($(MESA_GPU_DRIVERS),swrast) 72 LOCAL_SHARED_LIBRARIES += libdrm 73 endif 74 75 ifeq ($(strip $(MESA_BUILD_CLASSIC)),true) 76 LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2 77 LOCAL_STATIC_LIBRARIES += libmesa_egl_dri2 78 79 # require i915_dri and/or i965_dri 80 LOCAL_REQUIRED_MODULES += \ 81 $(addsuffix _dri, $(filter i915 i965, $(MESA_GPU_DRIVERS))) 82 endif 83 84 ifeq ($(strip $(MESA_BUILD_GALLIUM)),true) 85 86 LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GALLIUM 87 88 gallium_DRIVERS := 89 90 # swrast 91 gallium_DRIVERS += libmesa_pipe_softpipe libmesa_winsys_sw_android 92 93 # i915g 94 ifneq ($(filter i915g, $(MESA_GPU_DRIVERS)),) 95 gallium_DRIVERS += libmesa_winsys_i915 libmesa_pipe_i915 96 LOCAL_SHARED_LIBRARIES += libdrm_intel 97 endif 98 99 # nouveau 100 ifneq ($(filter nouveau, $(MESA_GPU_DRIVERS)),) 101 gallium_DRIVERS += \ 102 libmesa_winsys_nouveau \ 103 libmesa_pipe_nvfx \ 104 libmesa_pipe_nv50 \ 105 libmesa_pipe_nvc0 \ 106 libmesa_pipe_nouveau 107 LOCAL_SHARED_LIBRARIES += libdrm_nouveau 108 endif 109 110 # r300g/r600g/radeonsi 111 ifneq ($(filter r300g r600g radeonsi, $(MESA_GPU_DRIVERS)),) 112 gallium_DRIVERS += libmesa_winsys_radeon 113 ifneq ($(filter r300g, $(MESA_GPU_DRIVERS)),) 114 gallium_DRIVERS += libmesa_pipe_r300 115 endif 116 ifneq ($(filter r600g, $(MESA_GPU_DRIVERS)),) 117 gallium_DRIVERS += libmesa_pipe_r600 118 endif 119 ifneq ($(filter radeonsi, $(MESA_GPU_DRIVERS)),) 120 gallium_DRIVERS += libmesa_pipe_radeonsi 121 endif 122 endif 123 124 # vmwgfx 125 ifneq ($(filter vmwgfx, $(MESA_GPU_DRIVERS)),) 126 gallium_DRIVERS += libmesa_winsys_svga libmesa_pipe_svga 127 endif 128 129 # 130 # Notes about the order here: 131 # 132 # * libmesa_st_egl depends on libmesa_winsys_sw_android in $(gallium_DRIVERS) 133 # * libmesa_pipe_r300 in $(gallium_DRIVERS) depends on libmesa_st_mesa and 134 # libmesa_glsl 135 # * libmesa_st_mesa depends on libmesa_glsl 136 # * libmesa_glsl depends on libmesa_glsl_utils 137 # 138 LOCAL_STATIC_LIBRARIES := \ 139 libmesa_egl_gallium \ 140 libmesa_st_egl \ 141 $(gallium_DRIVERS) \ 142 libmesa_st_mesa \ 143 libmesa_glsl \ 144 libmesa_glsl_utils \ 145 libmesa_gallium \ 146 $(LOCAL_STATIC_LIBRARIES) 147 148 endif # MESA_BUILD_GALLIUM 149 150 LOCAL_MODULE := libGLES_mesa 151 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 152 153 include $(MESA_COMMON_MK) 154 include $(BUILD_SHARED_LIBRARY) 155