https://bugs.gentoo.org/907479 https://bugs.gentoo.org/907481 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/55ee0635d3f63c408067dd904f8e8b718983ba0e https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/479f0175b51ea74b07084c8a508b7a7224445a02 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428 From ffecb5f1a02174c2d6ab6ca472c6c0cab10179b3 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Fri, 14 Apr 2023 16:11:55 +0530 Subject: [PATCH 2/2] meson: Add feature options for optional va deps libdrm and gudev Part-of: Signed-off-by: Sam James --- a/gst-libs/gst/va/meson.build +++ b/gst-libs/gst/va/meson.build @@ -32,14 +32,20 @@ if host_system != 'linux' endif va_opt = get_option('va') -msdk_opt = get_option('msdk') -qsv_opt = get_option('qsv') -if va_opt.disabled() and msdk_opt.disabled() and qsv_opt.disabled() - subdir_done() +if host_system == 'linux' + msdk_opt = get_option('msdk') + qsv_opt = get_option('qsv') + if va_opt.disabled() and msdk_opt.disabled() and qsv_opt.disabled() + subdir_done() + endif + va_required = va_opt.enabled() or msdk_opt.enabled() or qsv_opt.enabled() +else + if va_opt.disabled() + subdir_done() + endif + va_required = va_opt endif -va_required = va_opt.enabled() or msdk_opt.enabled() or qsv_opt.enabled() - libva_req = ['>= 1.6'] libva_dep = dependency('libva', version: libva_req, required: va_required, fallback: ['libva', 'libva_dep']) @@ -50,7 +56,7 @@ if not (libva_dep.found() and libva_drm_dep.found()) subdir_done() endif -libdrm_dep = dependency('libdrm', version: '>=2.4', required: false) +libdrm_dep = dependency('libdrm', version: '>=2.4', required: get_option('drm')) cdata.set10('HAVE_LIBDRM', libdrm_dep.found()) va_enums = gnome.mkenums_simple('va-enumtypes', --- a/meson_options.txt +++ b/meson_options.txt @@ -73,6 +73,8 @@ option('y4m', type : 'feature', value : 'auto') option('opencv', type : 'feature', value : 'auto', description : 'OpenCV computer vision library support') # Feature options for optional deps in plugins +option('drm', type : 'feature', value : 'auto', description: 'libdrm support in the GstVA library') +option('udev', type : 'feature', value : 'auto', description: 'gudev support in the new VA-API plugin') option('wayland', type : 'feature', value : 'auto', description : 'Wayland plugin/library, support in the Vulkan plugin') option('x11', type : 'feature', value : 'auto', description : 'X11 support in Vulkan, GL and rfb plugins') --- a/sys/va/meson.build +++ b/sys/va/meson.build @@ -33,7 +33,7 @@ if va_option.disabled() subdir_done() endif -libgudev_dep = dependency('gudev-1.0', required: false) +libgudev_dep = dependency('gudev-1.0', required: get_option('udev'), allow_fallback: true) cdata.set10('HAVE_GUDEV', libgudev_dep.found()) if libva_dep.version().version_compare('>= 1.8') -- 2.40.1