mesa: Add core support for EXT_multisampled_render_to_texture{,2}
[mesa.git] / src / mapi / Makefile.am
1 # Copyright © 2013, 2014 Intel Corporation
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the "Software"),
5 # to deal in the Software without restriction, including without limitation
6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 # and/or sell copies of the Software, and to permit persons to whom the
8 # Software is furnished to do so, subject to the following conditions:
9 #
10 # The above copyright notice and this permission notice (including the next
11 # paragraph) shall be included in all copies or substantial portions of the
12 # Software.
13 #
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 DEALINGS
20 # IN THE SOFTWARE.
21
22 SUBDIRS =
23 TESTS =
24
25 BUILT_SOURCES =
26 CLEANFILES = $(BUILT_SOURCES)
27
28 lib_LTLIBRARIES =
29 check_PROGRAMS =
30 pkgconfigdir = $(libdir)/pkgconfig
31 pkgconfig_DATA =
32
33 EXTRA_DIST = \
34 es1api/ABI-check \
35 es2api/ABI-check \
36 mapi_abi.py \
37 glapi/SConscript \
38 glapi/registry/gl.xml \
39 shared-glapi/SConscript \
40 es1api/meson.build \
41 es2api/meson.build \
42 glapi/meson.build \
43 shared-glapi/meson.build \
44 meson.build
45
46 AM_CFLAGS = \
47 $(PTHREAD_CFLAGS) \
48 $(MSVC2013_COMPAT_CFLAGS)
49 AM_CPPFLAGS = \
50 $(DEFINES) \
51 $(SELINUX_CFLAGS) \
52 -I$(top_srcdir)/include \
53 -I$(top_srcdir)/src \
54 -I$(top_builddir)/src/mapi \
55 -I$(top_srcdir)/src/mapi \
56 -I$(top_builddir)/src/mapi/glapi \
57 -I$(top_srcdir)/src/mapi/glapi
58
59 include Makefile.sources
60
61 MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
62 PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS)
63
64 glapi_gen_mapi_deps := \
65 mapi_abi.py \
66 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.xml) \
67 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.py)
68
69 if HAVE_SHARED_GLAPI
70 BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h
71
72 lib_LTLIBRARIES += shared-glapi/libglapi.la
73 shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES) shared-glapi/glapi_mapi_tmp.h
74 shared_glapi_libglapi_la_CFLAGS = \
75 $(AM_CFLAGS) \
76 $(VISIBILITY_CFLAGS)
77 shared_glapi_libglapi_la_CPPFLAGS = \
78 $(AM_CPPFLAGS) \
79 -DMAPI_MODE_GLAPI \
80 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\"
81 shared_glapi_libglapi_la_LIBADD = \
82 $(PTHREAD_LIBS) \
83 $(SELINUX_LIBS)
84 shared_glapi_libglapi_la_LDFLAGS = \
85 -no-undefined \
86 $(GC_SECTIONS) \
87 $(LD_NO_UNDEFINED)
88
89 TESTS += shared-glapi-test
90 check_PROGRAMS += shared-glapi-test
91
92 shared_glapi_test_SOURCES = shared-glapi/tests/check_table.cpp
93 shared_glapi_test_CPPFLAGS = \
94 $(AM_CPPFLAGS) \
95 -I$(top_srcdir)/src/gtest/include \
96 -I$(top_srcdir)/src/mesa
97 shared_glapi_test_LDADD = \
98 $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
99 $(top_builddir)/src/gtest/libgtest.la
100 endif
101
102 shared-glapi/glapi_mapi_tmp.h : glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
103 $(MKDIR_GEN)
104 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer shared-glapi \
105 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
106
107 if HAVE_OPENGL
108 noinst_LTLIBRARIES = glapi/libglapi.la
109
110 if HAVE_X86_ASM
111 if HAVE_X86_64_ASM
112 GLAPI_ASM_SOURCES = glapi/glapi_x86-64.S
113 else
114 GLAPI_ASM_SOURCES = glapi/glapi_x86.S
115 endif
116 endif
117 if HAVE_SPARC_ASM
118 GLAPI_ASM_SOURCES = glapi/glapi_sparc.S
119 endif
120
121 glapi_libglapi_la_SOURCES =
122 glapi_libglapi_la_CPPFLAGS = \
123 $(AM_CPPFLAGS) \
124 -I$(top_srcdir)/src/mesa
125
126 if HAVE_APPLEDRI
127 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c
128 endif
129 if HAVE_WINDOWSDRI
130 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c
131 endif
132
133 if HAVE_SHARED_GLAPI
134 glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES) glapi/glapi_mapi_tmp.h
135 glapi_libglapi_la_CPPFLAGS += \
136 -DMAPI_MODE_BRIDGE \
137 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
138 else
139 glapi_libglapi_la_CPPFLAGS += \
140 -DMAPI_MODE_UTIL
141 glapi_libglapi_la_SOURCES += \
142 glapi/glapi_dispatch.c \
143 glapi/glapi_entrypoint.c \
144 glapi/glapi_getproc.c \
145 glapi/glapi_nop.c \
146 glapi/glapi.c \
147 glapi/glapi.h \
148 glapi/glapi_priv.h \
149 $(GLAPI_ASM_SOURCES) \
150 $(MAPI_UTIL_FILES)
151
152 TESTS += glapi-test
153 check_PROGRAMS += glapi-test
154
155 glapi_test_SOURCES = glapi/tests/check_table.cpp
156 glapi_test_CPPFLAGS = \
157 $(AM_CPPFLAGS) \
158 -I$(top_srcdir)/src/gtest/include \
159 -I$(top_srcdir)/src/mesa
160
161 glapi_test_LDADD = \
162 $(top_builddir)/src/mapi/glapi/libglapi.la \
163 $(top_builddir)/src/gtest/libgtest.la
164 endif
165 endif
166
167 if HAVE_OPENGL_ES1
168 TESTS += es1api/ABI-check
169
170 BUILT_SOURCES += es1api/glapi_mapi_tmp.h
171
172 pkgconfig_DATA += es1api/glesv1_cm.pc
173
174 GLES_includedir = $(includedir)/GLES
175 GLES_include_HEADERS = \
176 $(top_srcdir)/include/GLES/egl.h \
177 $(top_srcdir)/include/GLES/gl.h \
178 $(top_srcdir)/include/GLES/glext.h \
179 $(top_srcdir)/include/GLES/glplatform.h
180
181 lib_LTLIBRARIES += es1api/libGLESv1_CM.la
182
183 es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h
184 es1api_libGLESv1_CM_la_CFLAGS = \
185 $(AM_CFLAGS) \
186 $(VISIBILITY_CFLAGS)
187 es1api_libGLESv1_CM_la_CPPFLAGS = \
188 $(AM_CPPFLAGS) \
189 -DMAPI_MODE_BRIDGE \
190 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\"
191 es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
192 es1api_libGLESv1_CM_la_LDFLAGS = \
193 -no-undefined \
194 -version-number 1:1 \
195 $(GC_SECTIONS) \
196 $(LD_NO_UNDEFINED)
197
198 es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la
199 endif
200
201 es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
202 $(MKDIR_GEN)
203 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer es1api \
204 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
205
206 if HAVE_OPENGL_ES2
207 TESTS += es2api/ABI-check
208
209 BUILT_SOURCES += es2api/glapi_mapi_tmp.h
210
211 pkgconfig_DATA += es2api/glesv2.pc
212
213 GLES2_includedir = $(includedir)/GLES2
214 GLES2_include_HEADERS = \
215 $(top_srcdir)/include/GLES2/gl2.h \
216 $(top_srcdir)/include/GLES2/gl2ext.h \
217 $(top_srcdir)/include/GLES2/gl2platform.h
218 GLES3_includedir = $(includedir)/GLES3
219 GLES3_include_HEADERS = \
220 $(top_srcdir)/include/GLES3/gl3.h \
221 $(top_srcdir)/include/GLES3/gl31.h \
222 $(top_srcdir)/include/GLES3/gl32.h \
223 $(top_srcdir)/include/GLES3/gl3ext.h \
224 $(top_srcdir)/include/GLES3/gl3platform.h
225
226 lib_LTLIBRARIES += es2api/libGLESv2.la
227
228 es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h
229 es2api_libGLESv2_la_CFLAGS = \
230 $(AM_CFLAGS) \
231 $(VISIBILITY_CFLAGS)
232 es2api_libGLESv2_la_CPPFLAGS = \
233 $(AM_CPPFLAGS) \
234 -DMAPI_MODE_BRIDGE \
235 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\"
236 es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
237 es2api_libGLESv2_la_LDFLAGS = \
238 -no-undefined \
239 -version-number 2 \
240 $(GC_SECTIONS) \
241 $(LD_NO_UNDEFINED)
242
243 es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la
244 endif
245
246 es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
247 $(MKDIR_GEN)
248 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer es2api \
249 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
250
251 include $(top_srcdir)/install-lib-links.mk
252
253 if NEED_KHRPLATFORM
254 khrdir = $(includedir)/KHR
255 khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h
256 endif