summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com>2019-11-07 17:22:26 +0200
committerDylan Baker <dylan@pnwbakers.com>2019-11-26 16:43:04 -0800
commit14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61 (patch)
tree6c989981eb5ad28a22bd88b3bdb86f0af874a610
parent06a95a06e84024cf3a56acc65c1430068c2edd7e (diff)
downloadmesa-14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61.tar.gz
mesa-14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61.tar.bz2
mesa-14acf6fc3d128a20acb9ff61a4cbb1c6a70c7b61.zip
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@globallogic.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> (cherry picked from commit 9af22ccddcd1a983df5e0c6732a4e8f5ebf4d9cf)
-rw-r--r--src/gallium/targets/d3dadapter9/meson.build18
1 files 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,