1# Copyright © 2013 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
22EPOXY = $(builddir)/../src/libepoxy.la
23
24check_LTLIBRARIES = \
25	$(EGL_UTIL_LIB) \
26	$(GLX_UTIL_LIB) \
27	$(WGL_UTIL_LIB) \
28	$()
29
30libegl_common_la_SOURCES = \
31	egl_common.c \
32	egl_common.h
33	$()
34
35libglx_common_la_SOURCES = \
36	glx_common.c \
37	glx_common.h
38	$()
39
40libwgl_common_la_SOURCES = \
41	wgl_common.c \
42	wgl_common.h
43	$()
44libwgl_common_la_LIBADD = $(EPOXY)
45
46AM_CPPFLAGS = \
47	-I$(top_srcdir)/include \
48	-I$(top_builddir)/include \
49	$(X11_CFLAGS) \
50	$(EGL_CFLAGS) \
51	$()
52
53AM_CFLAGS = $(CWARNFLAGS)
54
55TESTS = \
56	$(EGL_TESTS) \
57	$(GLX_TESTS) \
58	$(EGL_AND_GLX_TESTS) \
59	$(WGL_TESTS) \
60	gl_version$(EXEEXT) \
61	headerguards$(EXEEXT) \
62	miscdefines$(EXEEXT) \
63	khronos_typedefs$(EXEEXT) \
64	$()
65
66check_BINARIES = $(EGL_AND_GLX_BIN)
67
68XFAIL_TESTS = \
69	$()
70
71check_PROGRAMS = $(TESTS)
72
73if BUILD_EGL
74EGL_TESTS = \
75	$()
76
77if HAVE_X11
78EGL_TESTS += \
79	egl_has_extension_nocontext \
80	egl_epoxy_api \
81	egl_gles2_without_glx \
82	$()
83
84if HAS_GLES1
85EGL_TESTS += egl_gles1_without_glx
86endif
87
88EGL_UTIL_LIB = libegl_common.la
89endif
90endif
91
92if BUILD_GLX
93if HAS_ZNOW
94GLX_SHARED_ZNOW = glx_shared_znow
95endif
96
97if BUILD_EGL
98if BUILD_GLX
99if HAVE_DLVSYM
100EGL_AND_GLX_TESTS = \
101	egl_gl \
102        $()
103endif
104endif
105endif
106
107if HAVE_DLVSYM
108GLX_DLVSYM_TESTS = \
109	glx_alias_prefer_same_name \
110	glx_gles2 \
111        $()
112endif
113
114GLX_TESTS = \
115	glx_beginend \
116	glx_public_api \
117	glx_public_api_core \
118	glx_glxgetprocaddress_nocontext \
119	glx_has_extension_nocontext \
120	glx_static \
121        $(GLX_SHARED_ZNOW) \
122        $(GLX_DLVSYM_TESTS) \
123	$()
124
125GLX_UTIL_LIB = libglx_common.la
126endif
127
128if BUILD_WGL
129WGL_TESTS = \
130	wgl_core_and_exts$(EXEEXT) \
131	wgl_per_context_funcptrs$(EXEEXT) \
132	wgl_usefontbitmaps$(EXEEXT) \
133	wgl_usefontbitmaps_unicode$(EXEEXT) \
134	$()
135
136WGL_UTIL_LIB = libwgl_common.la
137endif
138
139egl_has_extension_nocontext_LDADD = $(EPOXY) libegl_common.la $(X11_LIBS)
140
141egl_epoxy_api_LDADD = $(EPOXY) libegl_common.la $(X11_LIBS)
142
143egl_gl_LDADD = $(EPOXY) $(DLOPEN_LIBS) libegl_common.la $(X11_LIBS)
144
145egl_gles1_without_glx_CPPFLAGS = $(AM_CPPFLAGS) -DGLES_VERSION=1
146egl_gles1_without_glx_SOURCES = egl_without_glx.c
147egl_gles1_without_glx_LDADD = $(EPOXY) $(DLOPEN_LIBS) libegl_common.la $(X11_LIBS)
148
149egl_gles2_without_glx_CPPFLAGS = $(AM_CPPFLAGS) -DGLES_VERSION=2
150egl_gles2_without_glx_SOURCES = egl_without_glx.c
151egl_gles2_without_glx_LDADD = $(EPOXY) $(DLOPEN_LIBS) libegl_common.la $(X11_LIBS)
152
153glx_alias_prefer_same_name_SOURCES = glx_alias_prefer_same_name.c dlwrap.c dlwrap.h
154glx_alias_prefer_same_name_LDFLAGS = -rdynamic
155glx_alias_prefer_same_name_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS) $(DLOPEN_LIBS)
156
157glx_beginend_LDADD = $(EPOXY) libglx_common.la $(GL_LIBS) $(X11_LIBS)
158
159glx_gles2_SOURCES = glx_gles2.c dlwrap.c dlwrap.h
160glx_gles2_LDFLAGS = -rdynamic
161glx_gles2_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS) $(DLOPEN_LIBS)
162
163glx_public_api_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS)
164
165glx_public_api_core_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS)
166
167glx_glxgetprocaddress_nocontext_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS)
168
169glx_has_extension_nocontext_LDADD = $(EPOXY) libglx_common.la $(X11_LIBS)
170
171glx_static_CFLAGS = -DNEEDS_TO_BE_STATIC
172glx_static_LDADD = $(DLOPEN_LIBS) $(EPOXY) libglx_common.la $(X11_LIBS)
173glx_static_LDFLAGS = -static
174
175glx_shared_znow_SOURCES = glx_static.c
176glx_shared_znow_LDADD = $(DLOPEN_LIBS) $(EPOXY) libglx_common.la $(X11_LIBS)
177glx_shared_znow_LDFLAGS = -Wl,-z,now
178
179khronos_typedefs_SOURCES = \
180	khronos_typedefs.c \
181	khronos_typedefs.h \
182	khronos_typedefs_nonepoxy.c \
183	$()
184
185wgl_core_and_exts_LDADD = $(EPOXY) libwgl_common.la -lgdi32
186
187wgl_per_context_funcptrs_LDADD = $(EPOXY) libwgl_common.la -lgdi32
188
189wgl_usefontbitmaps_LDADD = $(EPOXY) libwgl_common.la -lgdi32
190wgl_usefontbitmaps_unicode_SOURCES = wgl_usefontbitmaps.c
191wgl_usefontbitmaps_unicode_LDADD = $(EPOXY) libwgl_common.la -lgdi32
192wgl_usefontbitmaps_unicode_CPPFLAGS = $(AM_CPPFLAGS) -DUNICODE
193