egl/x11: Implement dri3 support with loader's dri3 helper
[mesa.git] / src / egl / Makefile.am
1 # Copyright © 2012 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 include Makefile.sources
23
24 AM_CFLAGS = \
25 -I$(top_srcdir)/include \
26 -I$(top_srcdir)/src/egl/main \
27 -I$(top_srcdir)/src/gbm/main \
28 -I$(top_srcdir)/src \
29 $(DEFINES) \
30 $(VISIBILITY_CFLAGS) \
31 $(LIBDRM_CFLAGS) \
32 $(EGL_CFLAGS) \
33 -D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM)
34
35 lib_LTLIBRARIES = libEGL.la
36
37 libEGL_la_SOURCES = \
38 $(LIBEGL_C_FILES)
39
40 libEGL_la_LIBADD = \
41 $(EGL_LIB_DEPS)
42 libEGL_la_LDFLAGS = \
43 -no-undefined \
44 -version-number 1:0 \
45 $(BSYMBOLIC) \
46 $(GC_SECTIONS) \
47 $(LD_NO_UNDEFINED)
48
49 dri2_backend_FILES =
50 dri3_backend_FILES =
51
52 if HAVE_EGL_PLATFORM_X11
53 AM_CFLAGS += -DHAVE_X11_PLATFORM
54 AM_CFLAGS += $(XCB_DRI2_CFLAGS)
55 libEGL_la_LIBADD += $(XCB_DRI2_LIBS)
56 dri2_backend_FILES += drivers/dri2/platform_x11.c
57
58 if HAVE_DRI3
59 dri3_backend_FILES += \
60 drivers/dri2/platform_x11_dri3.c
61 libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader_dri3_helper.la
62 endif
63 endif
64
65 if HAVE_EGL_PLATFORM_WAYLAND
66 AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM
67 AM_CFLAGS += $(WAYLAND_CFLAGS)
68 libEGL_la_LIBADD += $(WAYLAND_LIBS)
69 libEGL_la_LIBADD += $(LIBDRM_LIBS)
70 libEGL_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la
71 dri2_backend_FILES += drivers/dri2/platform_wayland.c
72 endif
73
74 if HAVE_EGL_PLATFORM_DRM
75 AM_CFLAGS += -DHAVE_DRM_PLATFORM
76 libEGL_la_LIBADD += $(top_builddir)/src/gbm/libgbm.la
77 dri2_backend_FILES += drivers/dri2/platform_drm.c
78 endif
79
80 if HAVE_EGL_PLATFORM_SURFACELESS
81 AM_CFLAGS += -DHAVE_SURFACELESS_PLATFORM
82 dri2_backend_FILES += drivers/dri2/platform_surfaceless.c
83 endif
84
85 if HAVE_EGL_DRIVER_DRI2
86 AM_CFLAGS += \
87 -I$(top_srcdir)/src/loader \
88 -I$(top_srcdir)/src/egl/drivers/dri2 \
89 -I$(top_srcdir)/src/gbm/backends/dri \
90 -I$(top_srcdir)/src/egl/wayland/wayland-egl \
91 -I$(top_srcdir)/src/egl/wayland/wayland-drm \
92 -I$(top_builddir)/src/egl/wayland/wayland-drm \
93 -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \
94 -D_EGL_BUILT_IN_DRIVER_DRI2
95
96 libEGL_la_SOURCES += \
97 $(dri2_backend_core_FILES) \
98 $(dri2_backend_FILES) \
99 $(dri3_backend_FILES)
100
101 libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader.la
102 libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS)
103 endif
104
105 include $(top_srcdir)/install-lib-links.mk
106
107 pkgconfigdir = $(libdir)/pkgconfig
108
109 pkgconfig_DATA = main/egl.pc
110
111 khrdir = $(includedir)/KHR
112 khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h
113
114 egldir = $(includedir)/EGL
115 egl_HEADERS = \
116 $(top_srcdir)/include/EGL/eglext.h \
117 $(top_srcdir)/include/EGL/egl.h \
118 $(top_srcdir)/include/EGL/eglextchromium.h \
119 $(top_srcdir)/include/EGL/eglmesaext.h \
120 $(top_srcdir)/include/EGL/eglplatform.h
121
122 EXTRA_DIST = \
123 SConscript \
124 drivers/haiku \
125 docs \
126 main/egl.def \
127 main/README.txt