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: 6b4c7047d5
       ("meson: build gallium nine state_tracker")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2040

Signed-off-by: Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
This commit is contained in:
Yevhenii Kolesnikov 2019-11-07 17:22:26 +02:00 committed by Dylan Baker
parent bcfc9c0fec
commit 9af22ccddc

View file

@ -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,