gstreamer/gst-libs/gst/gl/Makefile.am
Matthew Waters 6bb113f685 gl: add a sync meta for synchronizing across GL contexts
A context can create a GLsync object that can be waited on in order
to ensure that GL resources created in one context are able to be
used in another shared context without any chance of reading invalid
data.

This meta would be placed on buffers that are known to cross from
one context to another.  The receiving element would then wait
on the sync object to ensure that the data to be used is complete.
2017-12-09 19:31:51 +00:00

173 lines
4.8 KiB
Makefile

lib_LTLIBRARIES = libgstgl-@GST_API_VERSION@.la
SUBDIRS = glprototypes
DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
noinst_HEADERS =
built_sys_header_configure = gstglconfig.h
libgstgl_@GST_API_VERSION@_la_SOURCES = \
gstgldisplay.c \
gstglcontext.c \
gstglmemory.c \
gstglbufferpool.c \
gstglfilter.c \
gstglshader.c \
gstglshadervariables.c \
gstglcolorconvert.c \
gstgldownload.c \
gstglupload.c \
gstgluploadmeta.c \
gstglwindow.c \
gstglapi.c \
gstglfeature.c \
gstglutils.c \
gstglframebuffer.c \
gstglsyncmeta.c
libgstgl_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl
libgstgl_@GST_API_VERSION@include_HEADERS = \
gstglwindow.h \
gstgldisplay.h \
gstglcontext.h \
gstglmemory.h \
gstglbufferpool.h \
gstglfilter.h \
gstglshadervariables.h \
gstglshader.h \
gstglcolorconvert.h \
gstgldownload.h \
gstgluploadmeta.h \
gstglupload.h \
gstglapi.h \
gstglfeature.h \
gstglutils.h \
gstglframebuffer.h \
gstglsyncmeta.h \
gstgl_fwd.h \
gl.h
libgstgl_@GST_API_VERSION@_la_LIBADD = \
$(GMODULE_NO_EXPORT_LIBS) \
$(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) \
$(GST_LIBS) \
$(GL_LIBS)
if HAVE_WINDOW_WIN32
SUBDIRS += win32
libgstgl_@GST_API_VERSION@_la_LIBADD += win32/libgstgl-win32.la
endif
if HAVE_WINDOW_COCOA
SUBDIRS += cocoa
libgstgl_@GST_API_VERSION@_la_LIBADD += cocoa/libgstgl-cocoa.la
endif
if HAVE_WINDOW_X11
SUBDIRS += x11
libgstgl_@GST_API_VERSION@_la_LIBADD += x11/libgstgl-x11.la
endif
if HAVE_WINDOW_WAYLAND
SUBDIRS += wayland
libgstgl_@GST_API_VERSION@_la_LIBADD += wayland/libgstgl-wayland.la
endif
if HAVE_WINDOW_DISPMANX
SUBDIRS += dispmanx
libgstgl_@GST_API_VERSION@_la_LIBADD += dispmanx/libgstgl-dispmanx.la
endif
if HAVE_WINDOW_ANDROID
SUBDIRS += android
libgstgl_@GST_API_VERSION@_la_LIBADD += android/libgstgl-android.la
endif
if HAVE_WINDOW_EAGL
SUBDIRS += eagl
libgstgl_@GST_API_VERSION@_la_LIBADD += eagl/libgstgl-eagl.la
endif
if USE_EGL
SUBDIRS += egl
libgstgl_@GST_API_VERSION@_la_LIBADD += egl/libgstgl-egl.la
endif
configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GL_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
$(GL_CFLAGS)
libgstgl_@GST_API_VERSION@_la_LDFLAGS = \
$(GST_LIB_LDFLAGS) \
$(GST_ALL_LDFLAGS) \
$(GST_LT_LDFLAGS)
# DISTCLEANFILES is for files generated by configure
DISTCLEANFILES = $(built_sys_header_configure)
if HAVE_INTROSPECTION
BUILT_GIRSOURCES = GstGL-@GST_API_VERSION@.gir
gir_headers=$(patsubst %,$(srcdir)/%, $(libgstgl_@GST_API_VERSION@include_HEADERS))
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstgl_@GST_API_VERSION@_la_SOURCES))
GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@.la
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
GST_PLUGIN_SYSTEM_PATH_1_0="" GST_PLUGIN_PATH_1_0="" GST_REGISTRY_UPDATE=no \
$(INTROSPECTION_SCANNER) -v --namespace GstGL \
--nsversion=@GST_API_VERSION@ \
--strip-prefix=Gst \
--warn-all \
--c-include "gst/gl/gl.h" \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
--library=libgstgl-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
--include=GstBase-@GST_API_VERSION@ \
--libtool="$(top_builddir)/libtool" \
--pkg gstreamer-@GST_API_VERSION@ \
--pkg gstreamer-base-@GST_API_VERSION@ \
--pkg gstreamer-video-@GST_API_VERSION@ \
--pkg-export gstreamer-gl-@GST_API_VERSION@ \
--add-init-section="gst_init(NULL,NULL);" \
-DGST_USE_UNSTABLE_API \
--output $@ \
$(gir_headers) \
$(gir_sources)
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
# install anything - we need to install inside our prefix.
girdir = $(datadir)/gir-1.0
gir_DATA = $(BUILT_GIRSOURCES)
typelibsdir = $(libdir)/girepository-1.0/
typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
%.typelib: %.gir $(INTROSPECTION_COMPILER)
$(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
$(INTROSPECTION_COMPILER) \
--includedir=$(srcdir) \
--includedir=$(builddir) \
--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
endif