meson: Link xvmc with libxv
authorDylan Baker <dylan@pnwbakers.com>
Thu, 26 Sep 2019 22:42:59 +0000 (15:42 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Fri, 27 Sep 2019 16:39:01 +0000 (16:39 +0000)
Prior to xvmc 1.0.12 libxvmc incorrectly required libxv, but that was
fixed. This results in compilation failures for the gallium xvmc tracker
and tools. This patch fixes that by explicitly linking to libxv.

Fixes: 22a817af8a89eb3c762fc3e07b443a3ce37d7416
       ("meson: build gallium xvmc state tracker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1844
Reviewed-by: Adam Jackson <ajax@redhat.com>
meson.build
src/gallium/state_trackers/xvmc/meson.build

index da4a07538df872d847e8b4df81cb6c0b5e382953..aea5c2e4444c871a99f605a63a0f423d4d742bc3 100644 (file)
@@ -516,10 +516,12 @@ elif not (with_gallium_r600 or with_gallium_nouveau)
   endif
 endif
 dep_xvmc = null_dep
+dep_xv = null_dep
 with_gallium_xvmc = false
 if _xvmc != 'false'
   dep_xvmc = dependency('xvmc', version : '>= 1.0.6', required : _xvmc == 'true')
-  with_gallium_xvmc = dep_xvmc.found()
+  dep_xv = dependency('xv', required : _xvmc == 'true')
+  with_gallium_xvmc = dep_xvmc.found() and dep_xv.found()
 endif
 
 xvmc_drivers_path = get_option('xvmc-libs-path')
index f66b4f2a337580a5f5140199655d78423413463a..920b92ee19af2edf72b5b65746d3ea3f51b033ce 100644 (file)
@@ -23,7 +23,9 @@ libxvmc_st = static_library(
   files('attributes.c', 'block.c', 'context.c', 'surface.c', 'subpicture.c'),
   c_args : [c_vis_args],
   include_directories : [inc_common],
-  dependencies : [dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3],
+  dependencies : [
+    dep_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xv,
+  ],
 )
 
 # These tests will not work without a working xvmc configuration.
@@ -41,7 +43,8 @@ if with_tools.contains('xvmc')
       _name,
       files('tests/test_@0@.c'.format(x), 'tests/testlib.c'),
       dependencies : [
-        dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xvmcw,
+        dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
+        dep_xvmcw, dep_xv,
       ],
       install: true,
     )
@@ -51,7 +54,8 @@ if with_tools.contains('xvmc')
     'xvmc_bench',
     files('tests/xvmc_bench.c', 'tests/testlib.c'),
     dependencies : [
-      dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3, dep_xvmcw,
+      dep_real_xvmc, dep_x11_xcb, dep_xcb, dep_xcb_dri2, dep_xcb_dri3,
+      dep_xvmcw, dep_xv,
     ],
     install: true,
   )