1# Mesa 3-D graphics library 2# 3# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@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 26LOCAL_PATH := $(call my-dir) 27 28# from Makefile 29SOURCES = \ 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 52include $(CLEAR_VARS) 53 54LOCAL_SRC_FILES := $(SOURCES) 55 56LOCAL_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 61LOCAL_STATIC_LIBRARIES := 62 63LOCAL_SHARED_LIBRARIES := \ 64 libglapi \ 65 libdl \ 66 libhardware \ 67 liblog \ 68 libcutils 69 70# add libdrm if there are hardware drivers 71ifneq ($(MESA_GPU_DRIVERS),swrast) 72LOCAL_SHARED_LIBRARIES += libdrm 73endif 74 75ifeq ($(strip $(MESA_BUILD_CLASSIC)),true) 76LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2 77LOCAL_STATIC_LIBRARIES += libmesa_egl_dri2 78 79# require i915_dri and/or i965_dri 80LOCAL_REQUIRED_MODULES += \ 81 $(addsuffix _dri, $(filter i915 i965, $(MESA_GPU_DRIVERS))) 82endif 83 84ifeq ($(strip $(MESA_BUILD_GALLIUM)),true) 85 86LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_GALLIUM 87 88gallium_DRIVERS := 89 90# swrast 91gallium_DRIVERS += libmesa_pipe_softpipe libmesa_winsys_sw_android 92 93# i915g 94ifneq ($(filter i915g, $(MESA_GPU_DRIVERS)),) 95gallium_DRIVERS += libmesa_winsys_i915 libmesa_pipe_i915 96LOCAL_SHARED_LIBRARIES += libdrm_intel 97endif 98 99# nouveau 100ifneq ($(filter nouveau, $(MESA_GPU_DRIVERS)),) 101gallium_DRIVERS += \ 102 libmesa_winsys_nouveau \ 103 libmesa_pipe_nvfx \ 104 libmesa_pipe_nv50 \ 105 libmesa_pipe_nvc0 \ 106 libmesa_pipe_nouveau 107LOCAL_SHARED_LIBRARIES += libdrm_nouveau 108endif 109 110# r300g/r600g/radeonsi 111ifneq ($(filter r300g r600g radeonsi, $(MESA_GPU_DRIVERS)),) 112gallium_DRIVERS += libmesa_winsys_radeon 113ifneq ($(filter r300g, $(MESA_GPU_DRIVERS)),) 114gallium_DRIVERS += libmesa_pipe_r300 115endif 116ifneq ($(filter r600g, $(MESA_GPU_DRIVERS)),) 117gallium_DRIVERS += libmesa_pipe_r600 118endif 119ifneq ($(filter radeonsi, $(MESA_GPU_DRIVERS)),) 120gallium_DRIVERS += libmesa_pipe_radeonsi 121endif 122endif 123 124# vmwgfx 125ifneq ($(filter vmwgfx, $(MESA_GPU_DRIVERS)),) 126gallium_DRIVERS += libmesa_winsys_svga libmesa_pipe_svga 127endif 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# 138LOCAL_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 148endif # MESA_BUILD_GALLIUM 149 150LOCAL_MODULE := libGLES_mesa 151LOCAL_MODULE_RELATIVE_PATH := egl 152 153include $(MESA_COMMON_MK) 154include $(BUILD_SHARED_LIBRARY) 155