gstreamer/gst-libs/gst/gl/meson.build
Tim-Philipp Müller c5b5ef16d3 gl: GST_EXPORT -> GST_GL_API
We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
2018-03-13 12:10:29 +00:00

744 lines
21 KiB
Meson

gl_sources = [
'gstglapi.c',
'gstglbasefilter.c',
'gstglbasememory.c',
'gstglcolorconvert.c',
'gstglbuffer.c',
'gstglbufferpool.c',
'gstglcontext.c',
'gstgldebug.c',
'gstgldisplay.c',
'gstglfeature.c',
'gstglfilter.c',
'gstglformat.c',
'gstglframebuffer.c',
'gstglmemory.c',
'gstglmemorypbo.c',
'gstgloverlaycompositor.c',
'gstglquery.c',
'gstglrenderbuffer.c',
'gstglshader.c',
'gstglshaderstrings.c',
'gstglsl.c',
'gstglslstage.c',
'gstglsyncmeta.c',
'gstglupload.c',
'gstglutils.c',
'gstglviewconvert.c',
'gstglwindow.c',
]
gl_headers = [
'gl.h',
'gl-prelude.h',
'gstgl_enums.h',
'gstgl_fwd.h',
'gstglapi.h',
'gstglbasefilter.h',
'gstglbasememory.h',
'gstglbuffer.h',
'gstglbufferpool.h',
'gstglcolorconvert.h',
'gstglcontext.h',
'gstgldebug.h',
'gstgldisplay.h',
'gstglfeature.h',
'gstglfilter.h',
'gstglformat.h',
'gstglfuncs.h',
'gstglframebuffer.h',
'gstglmemory.h',
'gstglmemorypbo.h',
'gstgloverlaycompositor.h',
'gstglquery.h',
'gstglrenderbuffer.h',
'gstglshader.h',
'gstglshaderstrings.h',
'gstglsl.h',
'gstglslstage.h',
'gstglsyncmeta.h',
'gstglupload.h',
'gstglutils.h',
'gstglviewconvert.h',
'gstglwindow.h',
]
gl_prototype_headers = [
'glprototypes/all_functions.h',
'glprototypes/base.h',
'glprototypes/blending.h',
'glprototypes/buffers.h',
'glprototypes/debug.h',
'glprototypes/eglimage.h',
'glprototypes/fbo.h',
'glprototypes/fixedfunction.h',
'glprototypes/gles.h',
'glprototypes/gstgl_compat.h',
'glprototypes/gstgl_gles2compat.h',
'glprototypes/Makefile.am',
'glprototypes/opengl.h',
'glprototypes/query.h',
'glprototypes/README',
'glprototypes/shaders.h',
'glprototypes/sync.h',
'glprototypes/vao.h',
]
gl_x11_headers = []
gl_wayland_headers = []
gl_win32_headers = []
gl_cocoa_headers = []
gl_egl_headers = []
glconf = configuration_data()
glconf_options = [
'GST_GL_HAVE_OPENGL',
'GST_GL_HAVE_GLES2',
'GST_GL_HAVE_GLES3',
'GST_GL_HAVE_GLES3EXT3_H',
'GST_GL_HAVE_WINDOW_X11',
'GST_GL_HAVE_WINDOW_COCOA',
'GST_GL_HAVE_WINDOW_WIN32',
'GST_GL_HAVE_WINDOW_WAYLAND',
'GST_GL_HAVE_WINDOW_ANDROID',
'GST_GL_HAVE_WINDOW_DISPMANX',
'GST_GL_HAVE_WINDOW_EAGL',
'GST_GL_HAVE_WINDOW_VIV_FB',
'GST_GL_HAVE_PLATFORM_EGL',
'GST_GL_HAVE_PLATFORM_GLX',
'GST_GL_HAVE_PLATFORM_WGL',
'GST_GL_HAVE_PLATFORM_CGL',
'GST_GL_HAVE_PLATFORM_EAGL',
'GST_GL_HAVE_DMABUF',
'GST_GL_HAVE_VIV_DIRECTVIV',
'GST_GL_HAVE_GLEGLIMAGEOES',
'GST_GL_HAVE_GLCHAR',
'GST_GL_HAVE_GLSIZEIPTR',
'GST_GL_HAVE_GLINTPTR',
'GST_GL_HAVE_GLSYNC',
'GST_GL_HAVE_GLUINT64',
'GST_GL_HAVE_GLINT64',
'GST_GL_HAVE_EGLATTRIB',
]
foreach option : glconf_options
glconf.set10(option, false)
endforeach
gmodule_dep = dependency('gmodule-no-export-2.0',
fallback: ['glib', 'libgmodule_dep'])
unneeded_dep = dependency('', required : false)
if unneeded_dep.found()
error ('Found unfindable dependency')
endif
# OpenGL/GLES2 libraries
gl_lib_deps = []
# GL platform - EGL, GLX, CGL, WGL, etc
gl_platform_deps = []
# GL winsys - wayland, X11, Cocoa, win32, etc
gl_winsys_deps = []
# other things we need.
gl_misc_deps = []
# Other preprocessor arguments
gl_cpp_args = ['-DGST_EXPORTS']
enabled_gl_apis = []
enabled_gl_platforms = []
enabled_gl_winsys = []
# parse provided options
libegl_module_name = get_option('with_egl_module_name')
if libegl_module_name != ''
gl_cpp_args += ['-DGST_GL_LIBEGL_MODULE_NAME="@0@"'.format(libegl_module_name)]
endif
libgles2_module_name = get_option('with_gles2_module_name')
if libgles2_module_name != ''
gl_cpp_args += ['-DGST_GL_LIBGLESV2_MODULE_NAME="@0@"'.format(libgles2_module_name)]
endif
libgl_module_name = get_option('with_opengl_module_name')
if libgl_module_name != ''
gl_cpp_args += ['-DGST_GL_LIBGL_MODULE_NAME="@0@"'.format(libgl_module_name)]
endif
gl_apis_s = get_option ('with_gl_api')
if gl_apis_s == 'auto'
need_api_opengl = 'auto'
need_api_gles2 = 'auto'
else
need_api_opengl = 'no'
need_api_gles2 = 'no'
gl_apis = gl_apis_s.split(',')
foreach api : gl_apis
if api == 'opengl'
need_api_opengl = 'yes'
elif api == 'gles2'
need_api_gles2 = 'yes'
else
error('Unsupported GL api provided ' + api)
endif
endforeach
endif
gl_platforms_s = get_option ('with_gl_platform')
if gl_platforms_s == 'auto'
need_platform_egl = 'auto'
need_platform_glx = 'auto'
need_platform_cgl = 'auto'
need_platform_wgl = 'auto'
need_platform_eagl = 'auto'
else
need_platform_egl = 'no'
need_platform_glx = 'no'
need_platform_cgl = 'no'
need_platform_wgl = 'no'
need_platform_eagl = 'no'
gl_platforms = gl_platforms_s.split(',')
foreach platform : gl_platforms
if platform == 'egl'
need_platform_egl = 'yes'
elif platform == 'glx'
need_platform_glx = 'yes'
# elif platform == 'cgl'
# need_platform_cgl = 'yes'
elif platform == 'wgl'
need_platform_wgl = 'yes'
# elif platform == 'eagl'
# need_platform_eagl = 'yes'
else
error('Unsupported GL platform provided ' + platform)
endif
endforeach
endif
gl_winsys_s = get_option ('with_gl_winsys')
if gl_winsys_s == 'auto'
need_win_x11 = 'auto'
need_win_wayland = 'auto'
need_win_win32 = 'auto'
need_win_cocoa = 'auto'
need_win_eagl = 'auto'
need_win_dispmanx = 'auto'
need_win_viv_fb = 'auto'
need_win_gbm = 'auto'
else
need_win_x11 = 'no'
need_win_wayland = 'no'
need_win_win32 = 'no'
need_win_cocoa = 'no'
need_win_eagl = 'no'
need_win_dispmanx = 'no'
need_win_viv_fb = 'no'
need_win_gbm = 'no'
gl_winsys = gl_winsys_s.split(',')
foreach winsys : gl_winsys
if winsys == 'x11'
need_win_x11 = 'yes'
elif winsys == 'wayland'
need_win_wayland = 'yes'
elif winsys == 'win32'
need_win_win32 = 'yes'
# elif winsys == 'cocoa'
# need_win_cocoa = 'yes'
# elif winsys == 'eagl'
# need_win_eagl = 'yes'
elif winsys == 'dispmanx'
need_win_dispmanx = 'yes'
elif winsys == 'viv-fb'
need_win_viv_fb = 'yes'
elif winsys == 'gbm'
need_win_gbm = 'no'
else
error('Unsupported GL winsys provided ' + winsys)
endif
endforeach
endif
gl_include_header = '''
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
#ifndef GL_GLEXT_PROTOTYPES
#define GL_GLEXT_PROTOTYPES 1
#endif
'''
# Desktop OpenGL checks
gl_dep = unneeded_dep
glx_dep = unneeded_dep
if need_api_opengl != 'no' or need_platform_glx != 'no'
gl_dep = dependency('gl', required : false)
if not gl_dep.found()
if host_machine.system() == 'windows'
gl_dep = cc.find_library('opengl32', required : false)
# elif host_machine.system() == 'darwin'
# gl_dep = cc.find_library('OpenGL', required : false)
else
gl_dep = cc.find_library('GL', required : false)
endif
if not cc.has_header('GL/gl.h', required : false)
gl_dep = unneeded_dep
endif
if not gl_dep.found() and need_api_opengl == 'yes'
error ('Could not find requested OpenGL library')
endif
endif
glx_dep = gl_dep
if need_api_opengl == 'no'
gl_dep = unneeded_dep
endif
if need_platform_glx == 'no'
glx_dep = unneeded_dep
endif
opengl_includes = '''
#ifdef __APPLE__
# include <OpenGL/OpenGL.h>
# include <OpenGL/gl.h>
# if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
# define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
# include <OpenGL/gl3.h>
# endif
#else
# if _MSC_VER
# include <windows.h>
# endif
# include <GL/gl.h>
# if __WIN32__ || _WIN32
# include <GL/glext.h>
# endif
#endif
'''
endif
# GLES2 checks
gles2_dep = unneeded_dep
gles3_h = false
gles3ext3_h = false
if need_api_gles2 != 'no'
gles2_dep = dependency('glesv2', required : false)
if not gles2_dep.found()
# if host_machine.system() == 'windows'
# elif host_machine.system() == 'darwin'
# gles2_dep = cc.find_library('GLESv2', required : false)
# else
gles2_dep = cc.find_library('GLESv2', required : false)
# endif
if not cc.has_header('GLES2/gl2.h', required : false)
gles2_dep = unneeded_dep
endif
if not gles2_dep.found() and need_api_gles2 == 'yes'
error ('Could not find requested OpenGL ES library')
endif
endif
gles3_h = gles2_dep.found() and cc.has_header('GLES3/gl3.h', required : false, dependencies : gles2_dep)
gles_includes = '''
#ifdef HAVE_IOS /* FIXME */
# include <OpenGLES/ES2/gl.h>
# include <OpenGLES/ES2/glext.h>
#else'''
if gles3_h
gles3ext3_h = gles3_h and cc.has_header('GLES3/gl3ext.h', required : false, dependencies : gles2_dep)
gles_includes += '''
# include <GLES3/gl3.h>
# include <GLES2/gl2ext.h>'''
if gles3ext3_h
gles_includes += '''
# include <GLES3/gl3ext.h>'''
endif
else
gles_includes += '''
# include <GLES2/gl2.h>
# include <GLES2/gl2ext.h>'''
endif
gles_includes += '''
#endif
'''
endif
# can we include both gles2 and opengl headers?
if gles2_dep.found() and gl_dep.found()
gl_include_block = gl_include_header + gles_includes + opengl_includes
# TODO: Revert to passing gl_include_block via prefix: once
# https://github.com/mesonbuild/meson/issues/2364 is fixed
if not cc.compiles(gl_include_block + '\n' + 'void f (void) {}',dependencies : [gles2_dep, gl_dep])
message ('Cannot include both OpenGL and OpenGL ES headers')
if need_api_gles2 != 'yes'
gles2_dep = unneeded_dep
elif need_api_opengl != 'yes'
gl_dep = unneeded_dep
else
error('Both OpenGL and OpenGL ES were requested but cannot be included together')
endif
endif
endif
gl_include_block = gl_include_header
if gles2_dep.found()
gl_include_block += gles_includes
endif
if gl_dep.found()
gl_include_block += opengl_includes
endif
if gles2_dep.found()
gl_lib_deps += gles2_dep
glconf.set10('GST_GL_HAVE_GLES2', 1)
if gles3_h
glconf.set10('GST_GL_HAVE_GLES3', 1)
if gles3ext3_h
glconf.set10('GST_GL_HAVE_GLES3EXT3_H', 1)
endif
endif
enabled_gl_apis += 'gles2'
endif
if gl_dep.found()
gl_lib_deps += gl_dep
glconf.set10('GST_GL_HAVE_OPENGL', 1)
enabled_gl_apis += 'opengl'
endif
# EGL checks
egl_dep = unneeded_dep
if need_platform_egl != 'no'
egl_dep = dependency('egl', required : false)
if not egl_dep.found()
egl_dep = cc.find_library('EGL', required : false)
if not egl_dep.found() and need_platform_egl == 'yes'
error ('Could not find requested EGL library')
endif
endif
if egl_dep.found()
gl_sources += [
'egl/gstegl.c',
'egl/gsteglimage.c',
'egl/gstglcontext_egl.c',
'egl/gstgldisplay_egl.c',
'egl/gstglmemoryegl.c',
]
gl_egl_headers += [
'egl/gstegl.h',
'egl/gsteglimage.h',
'egl/gstgldisplay_egl.h',
'egl/gstglmemoryegl.h',
]
gl_platform_deps += egl_dep
glconf.set10('GST_GL_HAVE_PLATFORM_EGL', 1)
if cc.has_header('libdrm/drm_fourcc.h', required : false)
gl_misc_deps += allocators_dep
glconf.set10('GST_GL_HAVE_DMABUF', 1)
endif
egl_includes = '''
#include <EGL/egl.h>
#include <EGL/eglext.h>
'''
enabled_gl_platforms += 'egl'
endif
endif
# wayland checks
wayland_client_dep = unneeded_dep
wayland_cursor_dep = unneeded_dep
wayland_egl_dep = unneeded_dep
if need_win_wayland != 'no'
if need_win_wayland == 'yes'
if need_platform_egl == 'no'
error('Impossible situation requested: Cannot use Wayland without EGL support')
endif
endif
if not egl_dep.found()
if need_win_wayland == 'yes'
error ('Could not find EGL libraries for wayland')
else
message ('Could not find EGL libraries for wayland')
endif
else
wayland_client_dep = dependency('wayland-client', version : '>= 1.0', required : false)
wayland_cursor_dep = dependency('wayland-cursor', version : '>= 1.0', required : false)
wayland_egl_dep = dependency('wayland-egl', version : '>= 1.0', required : false)
if wayland_client_dep.found() and wayland_cursor_dep.found() and wayland_egl_dep.found()
gl_sources += [
'wayland/gstgldisplay_wayland.c',
'wayland/gstglwindow_wayland_egl.c',
'wayland/wayland_event_source.c',
]
gl_wayland_headers += [
'wayland/gstgldisplay_wayland.h'
]
glconf.set('GST_GL_HAVE_WINDOW_WAYLAND', 1)
gl_winsys_deps += [wayland_client_dep, wayland_cursor_dep, wayland_egl_dep]
enabled_gl_winsys += 'wayland'
else
if need_win_wayland == 'yes'
error ('Could not find requested Wayland libraries')
endif
wayland_client_dep = unneeded_dep
wayland_cursor_dep = unneeded_dep
wayland_egl_dep = unneeded_dep
endif
endif
endif
# X11 checks
if need_platform_glx == 'yes'
if need_win_x11 == 'no'
error('Impossible situation requested: Cannot use GLX without X11 support')
elif need_api_opengl == 'no'
error('Impossible situation requested: Cannot use GLX without the OpenGL library')
endif
endif
if need_win_x11 != 'no'
xcb_dep = dependency('x11-xcb', required : false)
if x11_dep.found() and xcb_dep.found()
gl_sources += [
'x11/gstgldisplay_x11.c',
'x11/gstglwindow_x11.c',
'x11/xcb_event_source.c',
]
gl_x11_headers += [
'x11/gstgldisplay_x11.h',
]
glconf.set('GST_GL_HAVE_WINDOW_X11', 1)
gl_winsys_deps += [x11_dep, xcb_dep]
enabled_gl_winsys += 'x11'
if need_platform_glx != 'no' and glx_dep.found()
glconf.set('GST_GL_HAVE_PLATFORM_GLX', 1)
gl_sources += [
'x11/gstglcontext_glx.c',
]
# GLX is in the opengl library on linux
gl_platform_deps += glx_dep
enabled_gl_platforms += 'glx'
endif
elif need_win_x11 == 'yes'
error ('Could not find requested X11 libraries')
endif
endif
bcm_host_dep = unneeded_dep
if need_win_dispmanx != 'no'
# Try pkg-config for bcm_host then fallback to find_library to also
# support older distribution
bcm_host_dep = dependency('bcm_host', required : false)
if not bcm_host_dep.found()
bcm_host_dep = cc.find_library('bcm_host', required : false)
endif
if bcm_host_dep.found()
if not egl_dep.found()
error('dispmanx requires the use of egl')
endif
gl_sources += [
'dispmanx/gstglwindow_dispmanx_egl.c'
]
glconf.set('GST_GL_HAVE_WINDOW_DISPMANX', 1)
gl_winsys_deps += bcm_host_dep
enabled_gl_winsys += 'dispmanx'
gl_cpp_args += ['-DUSE_EGL_RPI']
elif need_win_dispmanx == 'yes'
error('Could not find dispmanx libraries')
endif
endif
# win32 checks
if need_platform_wgl == 'yes'
if need_win_win32 == 'no'
error('Impossible situation requested: Cannot use WGL without the win32 window system')
endif
endif
# XXX: untested
if need_platform_wgl != 'no' and need_win_win32 != 'no'
gdi_dep = cc.find_library('gdi32', required : false)
# FIXME: Revert back to has_header once it gains prefix support
wglext_h = cc.has_header_symbol('GL/wglext.h', 'WGL_WGLEXT_VERSION',
prefix : '''#include <windows.h>
#include <GL/gl.h>''')
if wglext_h and gdi_dep.found() and gl_dep.found()
gl_platform_deps += gdi_dep
gl_sources += [
'win32/win32_message_source.c',
'win32/gstglwindow_win32.c',
'win32/gstglwindow_win32.c',
'win32/gstglcontext_wgl.c',
]
enabled_gl_winsys += 'win32'
gl_winsys_deps += gdi_dep
enabled_gl_platforms += 'wgl'
glconf.set('GST_GL_HAVE_WINDOW_WIN32', 1)
glconf.set('GST_GL_HAVE_PLATFORM_WGL', 1)
endif
endif
if host_machine.system() == 'darwin'
# FIXME: how to know if we're on iOS or OS X?
# gl_cocoa_headers += [
# 'gstglcontext_cocoa.h',
# 'gstglcaopengllayer.h',
# ]
endif
# GDM Checks
gbm_gudev_dep = unneeded_dep
gbm_libdrm_dep = unneeded_dep
gbm_dep = unneeded_dep
if need_win_gbm != 'no'
if need_win_gbm == 'yes'
if need_platform_egl == 'no'
error('Impossible situation requested: Cannot use GBM without EGL support')
endif
endif
gbm_gudev_dep = dependency('gudev-1.0', version : '>=147', required : false)
gbm_libdrm_dep = dependency('libdrm', version : '>= 2.4.55', required : false)
gbm_dep = dependency('gbm', required : false)
if egl_dep.found() and gbm_gudev_dep.found() and gbm_libdrm_dep.found() and gbm_dep.found()
gl_sources += [
'gbm/gstgldisplay_gbm.c',
'gbm/gstgl_gbm_utils.c',
'gbm/gstglwindow_gbm_egl.c',
]
enabled_gl_winsys += 'gbm'
gl_winsys_deps += [gbm_gudev_dep, gbm_libdrm_dep, gbm_dep]
glconf.set('GST_GL_HAVE_WINDOW_GBM', 1)
else
if need_win_gbm == 'yes'
error ('Could not find requested GBM libraries')
endif
gbm_gudev_dep = unneeded_dep
gbm_libdrm_dep = unneeded_dep
gbm_dep = unneeded_dep
endif
endif
if need_platform_egl != 'no' and need_win_viv_fb != 'no'
if egl_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep)
if cc.has_function ('glTexDirectVIV', dependencies : gles2_dep)
enabled_gl_winsys += 'viv-fb'
glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
gl_sources += [
'viv-fb/gstgldisplay_viv_fb.c',
'viv-fb/gstglwindow_viv_fb_egl.c',
]
gl_cpp_args += ['-DEGL_API_FB']
endif
endif
endif
# TODO: Add rest of gl config here.
# iOS, OS X, win32 specific support
build_gstgl = true
if enabled_gl_apis.length() == 0
message('No OpenGL API libraries found or requested')
build_gstgl = false
endif
if enabled_gl_platforms.length() == 0
message('No OpenGL Platforms found or requested')
build_gstgl = false
endif
if enabled_gl_winsys.length() == 0
message('No OpenGL Window systems found or requested')
build_gstgl = false
endif
if build_gstgl
# find some types that may or may not be defined
if cc.has_type('GLeglImageOES', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLEGLIMAGEOES', 1)
endif
if cc.has_type('GLchar', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLCHAR', 1)
endif
if cc.has_type('GLsizeiptr', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLSIZEIPTR', 1)
endif
if cc.has_type('GLintptr', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLINTPTR', 1)
endif
if cc.has_type('GLsync', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLSYNC', 1)
endif
if cc.has_type('GLuint64', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLUINT64', 1)
endif
if cc.has_type('GLint64', prefix : gl_include_block, dependencies : gl_lib_deps)
glconf.set('GST_GL_HAVE_GLINT64', 1)
endif
if egl_dep.found() and cc.has_type('EGLAttrib', prefix : gl_include_block + egl_includes, dependencies : gl_lib_deps + [egl_dep])
glconf.set('GST_GL_HAVE_EGLATTRIB', 1)
endif
message('Building libgstgl with GL api: ' + ' '.join(enabled_gl_apis))
message('Building libgstgl with GL platform: ' + ' '.join(enabled_gl_platforms))
message('Building libgstgl with GL winsys: ' + ' '.join(enabled_gl_winsys))
install_headers(gl_headers, subdir : 'gstreamer-1.0/gst/gl')
install_headers(gl_cocoa_headers, subdir : 'gstreamer-1.0/gst/gl/cocoa')
install_headers(gl_egl_headers, subdir : 'gstreamer-1.0/gst/gl/egl')
install_headers(gl_prototype_headers, subdir : 'gstreamer-1.0/gst/gl/glprototypes')
install_headers(gl_x11_headers, subdir : 'gstreamer-1.0/gst/gl/x11')
install_headers(gl_wayland_headers, subdir : 'gstreamer-1.0/gst/gl/wayland')
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_base_args + gl_cpp_args,
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
install : true,
dependencies : [gst_base_dep, video_dep, allocators_dep, gmodule_dep,
gl_lib_deps, gl_platform_deps, gl_winsys_deps, gl_misc_deps])
gen_sources = []
if build_gir
gl_gir = gnome.generate_gir(gstgl,
sources : gl_sources + gl_headers,
namespace : 'GstGL',
nsversion : api_version,
identifier_prefix : 'Gst',
symbol_prefix : 'gst',
export_packages : 'gstreamer-gl-1.0',
includes : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
install : true,
extra_args : gir_init_section + ['--c-include=gst/gl/gl.h'],
dependencies : [video_dep, gst_dep, gst_base_dep]
)
gen_sources += gl_gir
endif
gstgl_dep = declare_dependency(link_with : gstgl,
include_directories : [libsinc],
sources: gen_sources,
dependencies : [video_dep, gst_base_dep] + gl_winsys_deps)
endif