From 9af22ccddcd1a983df5e0c6732a4e8f5ebf4d9cf Mon Sep 17 00:00:00 2001 From: Yevhenii Kolesnikov Date: Thu, 7 Nov 2019 17:22:26 +0200 Subject: [PATCH] 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 Reviewed-by: Dylan Baker --- 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, -- 2.30.2