diff --git a/gst-libs/gst/gl/gstglconfig.h.meson b/gst-libs/gst/gl/gstglconfig.h.meson new file mode 100644 index 0000000000..6726c84384 --- /dev/null +++ b/gst-libs/gst/gl/gstglconfig.h.meson @@ -0,0 +1,40 @@ +/* gstglconfig.h + * + * This is a generated file. Please modify `configure.ac' + */ + +#ifndef __GST_GL_CONFIG_H__ +#define __GST_GL_CONFIG_H__ + +#include + +G_BEGIN_DECLS + + +#mesondefine GST_GL_HAVE_OPENGL +#mesondefine GST_GL_HAVE_GLES2 +#mesondefine GST_GL_HAVE_GLES3 + +#mesondefine GST_GL_HAVE_WINDOW_X11 +#mesondefine GST_GL_HAVE_WINDOW_COCOA +#mesondefine GST_GL_HAVE_WINDOW_WIN32 +#mesondefine GST_GL_HAVE_WINDOW_WAYLAND +#mesondefine GST_GL_HAVE_WINDOW_ANDROID +#mesondefine GST_GL_HAVE_WINDOW_DISPMANX +#mesondefine GST_GL_HAVE_WINDOW_EAGL + +#mesondefine GST_GL_HAVE_PLATFORM_EGL +#mesondefine GST_GL_HAVE_PLATFORM_GLX +#mesondefine GST_GL_HAVE_PLATFORM_WGL +#mesondefine GST_GL_HAVE_PLATFORM_CGL +#mesondefine GST_GL_HAVE_PLATFORM_EAGL + +#mesondefine GST_GL_HAVE_GLEGLIMAGEOES +#mesondefine GST_GL_HAVE_GLCHAR +#mesondefine GST_GL_HAVE_GLSIZEIPTR +#mesondefine GST_GL_HAVE_GLINTPTR + + +G_END_DECLS + +#endif /* __GST_GL_CONFIG_H__ */ diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build new file mode 100644 index 0000000000..6c210de26e --- /dev/null +++ b/gst-libs/gst/gl/meson.build @@ -0,0 +1,92 @@ +gl_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', +] + +gl_headers = [ + 'gl.h', + 'gstgl_enums.h', + 'gstgl_fwd.h', + 'gstglapi.h', + 'gstglbasefilter.h', + 'gstglbasememory.h', + 'gstglbuffer.h', + 'gstglbufferpool.h', + 'gstglcolorconvert.h', + 'gstglcontext.h', + 'gstglcontrolbindingproxy.h', + 'gstgldebug.h', + 'gstgldisplay.h', + 'gstglfeature.h', + 'gstglfilter.h', + 'gstglformat.h', + 'gstglframebuffer.h', + 'gstglmemory.h', + 'gstglmemorypbo.h', + 'gstgloverlaycompositor.h', + 'gstglquery.h', + 'gstglshader.h', + 'gstglshaderstrings.h', + 'gstglsl.h', + 'gstglslstage.h', + 'gstglsyncmeta.h', + 'gstglupload.h', + 'gstglutils.h', + 'gstglviewconvert.h', + 'gstglwindow.h', +] +# FIXME: Install glprototypes +install_headers(gl_headers, subdir : 'gstreamer-1.0/gst/gl') + +glconf = configuration_data() + +glconf.set10('GST_GL_HAVE_OPENGL', gl_dep.found()) + +if x11_dep.found() + gl_sources += [ + 'x11/gstgldisplay_x11.c', + 'x11/gstglwindow_x11.c', + 'x11/x11_event_source.c', + 'x11/gstglcontext_glx.c', +] + glconf.set('GST_GL_HAVE_WINDOW_X11', 1) + glconf.set('GST_GL_HAVE_PLATFORM_GLX', 1) +endif + +# Add rest of gl config here. + +configure_file(input : 'gstglconfig.h.meson', + output : 'gstglconfig.h', + install_dir : get_option('libdir') + '/gstreamer-1.0/include/gst/gl', + configuration : glconf) + +gstgl = library('gstgl-' + api_version, + gl_sources, + c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'], + include_directories : [configinc, libsinc], + version : libversion, + soversion : soversion, + install : true, + dependencies : [gstbase_dep, gstvideo_dep], + # FIXME: This symbol list is generated on Linux, so this is wrong for Windows + vs_module_defs: vs_module_defs_dir + 'libgstgl.def', +) +# TODO: generate gir + +gstgl_dep = declare_dependency(link_with : gstgl, + include_directories : [libsinc], + dependencies : [gstbase_dep, gstvideo_dep])