Home | History | Annotate | Download | only in main
      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