summaryrefslogtreecommitdiff
blob: 55ea57fa812882871b2b50b2b8313218a17cb41b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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 <nirbheek@centricular.com>
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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>
Signed-off-by: Sam James <sam@gentoo.org>
--- 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