a4a00f3bb351d200f02b6da5280dfe92316c5f74
[mesa.git] / src / egl / main / Android.mk
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
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)