Mesa (staging/19.3): meson: Fix linkage of libgallium_nine with libgalliumvl

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 27 00:43:39 UTC 2019


Module: Mesa
Branch: staging/19.3
Commit: 14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61

Author: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
Date:   Thu Nov  7 17:22:26 2019 +0200

meson: Fix linkage of libgallium_nine with libgalliumvl

Do not link libgallium_nine with libgalliumvl_stub if it's already
linked with libgalliumvl. Linking with stub leads to "duplicate
symbol" errors.

Fixes: 6b4c7047d57178d3362a710ad503057c6a582ca3
       ("meson: build gallium nine state_tracker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2040

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov at globallogic.com>
Reviewed-by: Dylan Baker <dylan at pnwbakers.com>
(cherry picked from commit 9af22ccddcd1a983df5e0c6732a4e8f5ebf4d9cf)

---

 src/gallium/targets/d3dadapter9/meson.build | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/gallium/targets/d3dadapter9/meson.build b/src/gallium/targets/d3dadapter9/meson.build
index 3adbe2f93b0..0d29ca9624f 100644
--- a/src/gallium/targets/d3dadapter9/meson.build
+++ b/src/gallium/targets/d3dadapter9/meson.build
@@ -28,12 +28,24 @@ nine_version = ['1', '0', '0']
 gallium_nine_c_args = []
 gallium_nine_ld_args = []
 gallium_nine_link_depends = []
+gallium_nine_link_with = [
+    libgallium, libnine_st,
+    libpipe_loader_static, libws_null, libwsw, libswdri,
+    libswkmsdri,
+]
 
 if with_ld_version_script
   gallium_nine_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'd3dadapter9.sym')]
   gallium_nine_link_depends += files('d3dadapter9.sym')
 endif
 
+if (with_gallium_va or with_gallium_vdpau or with_gallium_omx != 'disabled' or
+    with_gallium_xvmc or with_dri)
+  gallium_nine_link_with += libgalliumvl
+else
+  gallium_nine_link_with += libgalliumvl_stub
+endif
+
 libgallium_nine = shared_library(
   'd3dadapter9',
   files('description.c', 'getproc.c', 'drm.c'),
@@ -47,11 +59,7 @@ libgallium_nine = shared_library(
   cpp_args : [cpp_vis_args],
   link_args : [ld_args_gc_sections, gallium_nine_ld_args],
   link_depends : gallium_nine_link_depends,
-  link_with : [
-    libgalliumvl_stub, libgallium, libnine_st,
-    libpipe_loader_static, libws_null, libwsw, libswdri,
-    libswkmsdri,
-  ],
+  link_with : gallium_nine_link_with,
   dependencies : [
     dep_selinux, dep_libdrm, dep_llvm, dep_thread,
     idep_xmlconfig, idep_mesautil, idep_nir,




More information about the mesa-commit mailing list