diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2018-08-16 10:28:48 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2018-08-16 10:56:58 +0100 |
commit | 4ec1ba433d43e1c6cca5c16b9de7e332f08c7bb4 (patch) | |
tree | a1161dd9d73462b844519b79efb67ed5861e35f8 /ext | |
parent | 8829a8707ab931d0c00a4d0482c27f014bcd65e5 (diff) |
meson: add option for opengl and the misc optional gl plugin deps
Finer control over the opengl integration library dependencies
is already implemented via the gl_api, gl_platform, and gl_winsys
options.
https://bugzilla.gnome.org/show_bug.cgi?id=796947
Diffstat (limited to 'ext')
-rw-r--r-- | ext/gl/meson.build | 128 |
1 files changed, 65 insertions, 63 deletions
diff --git a/ext/gl/meson.build b/ext/gl/meson.build index 0f588a0a52..7eba0b31b1 100644 --- a/ext/gl/meson.build +++ b/ext/gl/meson.build @@ -47,80 +47,82 @@ opengl_sources = [ 'gstglutils.c' ] -if build_gstgl and gstgl_dep.found() - optional_deps = [] +if get_option('gl').disabled() or not gstgl_dep.found() + subdir_done() +endif - if gl_dep.found() # have desktop GL - # These have to stay in -bad until we can move GstVideoAggregator to -base - # 'gstglmosaic.c', - opengl_sources += [ - 'gstglfilterglass.c', - ] - endif +optional_deps = [] + +if gl_dep.found() # have desktop GL + # These have to stay in -bad until we can move GstVideoAggregator to -base + # 'gstglmosaic.c', + opengl_sources += [ + 'gstglfilterglass.c', + ] +endif - graphene_dep = dependency('graphene-1.0', version : '>=1.4.0', required : false) - if graphene_dep.found() - optional_deps += graphene_dep - core_conf.set('HAVE_GRAPHENE', true) +graphene_dep = dependency('graphene-1.0', version : '>=1.4.0', required : get_option('gl-graphene')) +if graphene_dep.found() + optional_deps += graphene_dep + core_conf.set('HAVE_GRAPHENE', true) + opengl_sources += [ + 'gstgltransformation.c', + 'gstglvideoflip.c', + ] +endif + +png_dep = dependency('libpng', version : '>=1.0', required : get_option('gl-png')) +jpeg_dep = cc.find_library('jpeg-mmx', required : false) +if not jpeg_dep.found() + jpeg_dep = cc.find_library('jpeg', required : get_option('gl-jpeg')) +endif + +if png_dep.found() + optional_deps += png_dep + core_conf.set('HAVE_PNG', true) + opengl_sources += [ + 'gstgldifferencematte.c', + ] + if jpeg_dep.found() + optional_deps += jpeg_dep + core_conf.set('HAVE_JPEG', true) opengl_sources += [ - 'gstgltransformation.c', - 'gstglvideoflip.c', + 'gstgloverlay.c', ] endif +endif - png_dep = dependency('libpng', version : '>=1.0', required : false) - jpeg_dep = cc.find_library('jpeg-mmx', required : false) - if not jpeg_dep.found() - jpeg_dep = cc.find_library('jpeg', required : false) - endif - - if png_dep.found() - optional_deps += png_dep - core_conf.set('HAVE_PNG', true) +if glconf.has('GST_GL_HAVE_WINDOW_COCOA') + quartzcore_dep = dependency('QuartzCore', required : false) + if quartzcore_dep.found() # have cocoa opengl_sources += [ - 'gstgldifferencematte.c', + 'caopengllayersink.m', ] - if jpeg_dep.found() - optional_deps += jpeg_dep - core_conf.set('HAVE_JPEG', true) - opengl_sources += [ - 'gstgloverlay.c', - ] - endif + optional_deps += quartzcore_dep endif +endif - if glconf.has('GST_GL_HAVE_WINDOW_COCOA') - quartzcore_dep = dependency('QuartzCore', required : false) - if quartzcore_dep.found() # have cocoa - opengl_sources += [ - 'caopengllayersink.m', - ] - optional_deps += quartzcore_dep - endif - endif +if x11_dep.found() + # for XInitThreads() + optional_deps += x11_dep +endif - if x11_dep.found() - # for XInitThreads() - optional_deps += x11_dep - endif +if bcm_host_dep.found() + optional_deps += bcm_host_dep +endif - if bcm_host_dep.found() - optional_deps += bcm_host_dep - endif +if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h') + optional_deps += allocators_dep +endif - if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h') - optional_deps += allocators_dep - endif +gstopengl = library('gstopengl', + opengl_sources, + c_args : gst_plugins_base_args, + link_args : noseh_link_args, + include_directories : [configinc], + dependencies : [gstgl_dep, video_dep, + gst_base_dep, gst_controller_dep, libm] + optional_deps, + install : true, + install_dir : plugins_install_dir) - gstopengl = library('gstopengl', - opengl_sources, - c_args : gst_plugins_base_args, - link_args : noseh_link_args, - include_directories : [configinc], - dependencies : [gstgl_dep, video_dep, - gst_base_dep, gst_controller_dep, libm] + optional_deps, - install : true, - install_dir : plugins_install_dir, - ) - pkgconfig.generate(gstopengl, install_dir : plugins_pkgconfig_install_dir) -endif +pkgconfig.generate(gstopengl, install_dir : plugins_pkgconfig_install_dir) |