1lib_LTLIBRARIES = libgstgl-@GST_API_VERSION@.la
2
3SUBDIRS = glprototypes
4DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl viv-fb gbm
5
6built_sys_header_configure = gstglconfig.h
7
8libgstgl_@GST_API_VERSION@_la_SOURCES = \
9	gstgldisplay.c \
10	gstglcontext.c \
11	gstgldebug.c \
12	gstglbasememory.c \
13	gstglbuffer.c \
14	gstglmemory.c \
15	gstglmemorypbo.c \
16	gstglrenderbuffer.c \
17	gstglbufferpool.c \
18	gstglfilter.c \
19	gstglformat.c \
20	gstglbasefilter.c \
21	gstglshader.c \
22	gstglshaderstrings.c \
23	gstglsl.c \
24	gstglslstage.c \
25	gstglcolorconvert.c \
26	gstglupload.c \
27	gstglwindow.c \
28	gstglapi.c \
29	gstglfeature.c \
30	gstglutils.c \
31	gstglframebuffer.c \
32	gstglsyncmeta.c \
33	gstglviewconvert.c \
34	gstgloverlaycompositor.c \
35	gstglquery.c
36
37libgstgl_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl
38
39gstgl_headers = \
40	gstglwindow.h \
41	gstgldisplay.h \
42	gstglcontext.h \
43	gstgldebug.h \
44	gstglbasememory.h \
45	gstglbuffer.h \
46	gstglmemory.h \
47	gstglmemorypbo.h \
48	gstglrenderbuffer.h \
49	gstglbufferpool.h \
50	gstglfilter.h \
51	gstglformat.h \
52	gstglbasefilter.h \
53	gstglshader.h \
54	gstglshaderstrings.h \
55	gstglsl.h \
56	gstglslstage.h \
57	gstglcolorconvert.h \
58	gstglupload.h \
59	gstglapi.h \
60	gstglfeature.h \
61	gstglutils.h \
62	gstglframebuffer.h \
63	gstglsyncmeta.h \
64	gstglviewconvert.h \
65	gstgloverlaycompositor.h \
66	gstglquery.h \
67	gstgl_fwd.h \
68	gstgl_enums.h \
69	gl-prelude.h \
70	gl.h
71
72libgstgl_@GST_API_VERSION@include_HEADERS = \
73	gstglfuncs.h \
74	$(gstgl_headers)
75
76noinst_HEADERS = \
77	gstglcontext_private.h \
78	gstglfeature_private.h \
79	gstglsl_private.h \
80	gstglwindow_private.h \
81	gstglutils_private.h \
82	utils/opengl_versions.h \
83	utils/gles_versions.h
84
85
86libgstgl_@GST_API_VERSION@_la_LIBADD = \
87	$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la \
88	$(top_builddir)/gst-libs/gst/allocators/libgstallocators-@GST_API_VERSION@.la \
89	$(GMODULE_NO_EXPORT_LIBS) \
90	$(GST_BASE_LIBS) \
91	$(GST_LIBS) \
92	$(GL_LIBS)
93
94gstgl_gir_headers = $(gstgl_headers)
95gstgl_gir_sources = $(libgstgl_@GST_API_VERSION@_la_SOURCES)
96
97if HAVE_WINDOW_WIN32
98SUBDIRS += win32
99libgstgl_@GST_API_VERSION@_la_LIBADD += win32/libgstgl-win32.la
100endif
101
102if HAVE_WINDOW_COCOA
103SUBDIRS += cocoa
104libgstgl_@GST_API_VERSION@_la_LIBADD += cocoa/libgstgl-cocoa.la
105endif
106
107if HAVE_WINDOW_X11
108SUBDIRS += x11
109libgstgl_@GST_API_VERSION@_la_LIBADD += x11/libgstgl-x11.la
110gstgl_gir_headers += x11/gstgldisplay_x11.h
111gstgl_gir_sources += x11/gstgldisplay_x11.c
112endif
113
114if HAVE_WINDOW_WAYLAND
115SUBDIRS += wayland
116libgstgl_@GST_API_VERSION@_la_LIBADD += wayland/libgstgl-wayland.la
117gstgl_gir_headers += wayland/gstgldisplay_wayland.h
118gstgl_gir_sources += wayland/gstgldisplay_wayland.c
119endif
120
121if HAVE_WINDOW_DISPMANX
122SUBDIRS += dispmanx
123libgstgl_@GST_API_VERSION@_la_LIBADD += dispmanx/libgstgl-dispmanx.la
124endif
125
126if HAVE_WINDOW_ANDROID
127SUBDIRS += android
128libgstgl_@GST_API_VERSION@_la_LIBADD += android/libgstgl-android.la
129endif
130
131if HAVE_WINDOW_EAGL
132SUBDIRS += eagl
133libgstgl_@GST_API_VERSION@_la_LIBADD += eagl/libgstgl-eagl.la
134endif
135
136if HAVE_WINDOW_VIV_FB
137SUBDIRS += viv-fb
138libgstgl_@GST_API_VERSION@_la_LIBADD += viv-fb/libgstgl-viv-fb.la
139endif
140
141if HAVE_WINDOW_GBM
142SUBDIRS += gbm
143libgstgl_@GST_API_VERSION@_la_LIBADD += gbm/libgstgl-gbm.la
144endif
145
146if USE_EGL
147SUBDIRS += egl
148libgstgl_@GST_API_VERSION@_la_LIBADD += egl/libgstgl-egl.la
149gstgl_gir_headers += egl/gstgldisplay_egl.h
150gstgl_gir_sources += egl/gstgldisplay_egl.c
151endif
152
153configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
154nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
155
156libgstgl_@GST_API_VERSION@_la_CFLAGS = \
157	-DBUILDING_GST_GL \
158	$(GST_PLUGINS_BASE_CFLAGS) \
159	$(GST_BASE_CFLAGS) \
160	$(GST_CFLAGS) \
161	$(GL_CFLAGS)
162
163libgstgl_@GST_API_VERSION@_la_LDFLAGS = \
164	$(GST_LIB_LDFLAGS) \
165	$(GST_ALL_LDFLAGS) \
166	$(GST_LT_LDFLAGS)
167
168# DISTCLEANFILES is for files generated by configure
169DISTCLEANFILES = $(built_sys_header_configure)
170
171glib_enum_headers = $(gstgl_headers)
172glib_enum_define = GST_GL
173glib_gen_prefix = gst_gl
174glib_gen_basename = gl
175glib_gen_decl_banner=GST_GL_API
176glib_gen_decl_include=\#include <gst/gl/gl-prelude.h>
177
178built_sources = gl-enumtypes.c
179built_headers = gl-enumtypes.h
180BUILT_SOURCES = $(built_sources) $(built_headers)
181
182CLEANFILES = $(BUILT_SOURCES)
183
184nodist_libgstgl_@GST_API_VERSION@include_HEADERS = $(built_headers)
185nodist_libgstgl_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
186
187include $(top_srcdir)/common/gst-glib-gen.mak
188
189if HAVE_INTROSPECTION
190BUILT_GIRSOURCES = GstGL-@GST_API_VERSION@.gir
191
192gir_headers=$(patsubst %,$(srcdir)/%, $(gstgl_gir_headers))
193gir_headers+=$(patsubst %,$(builddir)/%, $(built_headers))
194gir_sources=$(patsubst %,$(srcdir)/%, $(gstgl_gir_sources))
195gir_sources+=$(patsubst %,$(builddir)/%, $(built_sources))
196
197GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@.la
198	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" GI_SCANNER_DISABLE_CACHE=yes\
199		GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
200		CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" CC="$(CC)" PKG_CONFIG="$(PKG_CONFIG)" DLLTOOL="$(DLLTOOL)" \
201		$(INTROSPECTION_SCANNER) -v --namespace GstGL \
202		--nsversion=@GST_API_VERSION@ \
203		--identifier-prefix=Gst \
204		--symbol-prefix=gst \
205		--warn-all \
206		--c-include "gst/gl/gl.h" \
207		-I$(top_srcdir)/gst-libs \
208		-I$(top_builddir)/gst-libs \
209		$(GST_PLUGINS_BASE_CFLAGS) \
210		$(GL_CFLAGS) \
211		--add-include-path="$(top_builddir)/gst-libs/gst/video/" \
212		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
213		--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
214		--library-path="$(top_builddir)/gst-libs/gst/video/" \
215		--library=libgstgl-@GST_API_VERSION@.la \
216		--include=Gst-@GST_API_VERSION@ \
217		--include=GstBase-@GST_API_VERSION@ \
218		--include=GstVideo-@GST_API_VERSION@ \
219		--libtool="${LIBTOOL}" \
220		--pkg gstreamer-@GST_API_VERSION@ \
221		--pkg gstreamer-base-@GST_API_VERSION@ \
222		--pkg gstreamer-video-@GST_API_VERSION@ \
223		--pkg-export gstreamer-gl-@GST_API_VERSION@ \
224		--add-init-section="$(INTROSPECTION_INIT)" \
225		--output $@ \
226		$(gir_headers) \
227		$(gir_sources)
228
229# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
230# install anything - we need to install inside our prefix.
231girdir = $(datadir)/gir-1.0
232gir_DATA = $(BUILT_GIRSOURCES)
233
234typelibsdir = $(libdir)/girepository-1.0/
235
236typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
237
238%.typelib: %.gir $(INTROSPECTION_COMPILER)
239	$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
240		$(INTROSPECTION_COMPILER) \
241		--includedir=$(srcdir) \
242		--includedir=$(builddir) \
243		--includedir="$(top_builddir)/gst-libs/gst/video/" \
244		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
245		--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
246		$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
247
248CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
249endif
250