diff options
Diffstat (limited to 'ext/gl/meson.build')
-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) |