diff options
author | Yevhenii Kolesnikov <yevhenii.kolesnikov@globallogic.com> | 2019-11-07 17:22:26 +0200 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2019-12-04 13:43:32 -0800 |
commit | bda6890f58c4eed295c766a55e4149c2c9550b1b (patch) | |
tree | 1704c088e110b7a58df110f5f6f94a6333a6fa5b | |
parent | 2bf47550cea1cf4fd9f9d67bca8c91cb3d6fa960 (diff) | |
download | mesa-bda6890f58c4eed295c766a55e4149c2c9550b1b.tar.gz |
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)
Conflicts resolved by Dylan Baker
-rw-r--r-- | src/gallium/targets/d3dadapter9/meson.build | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gallium/targets/d3dadapter9/meson.build b/src/gallium/targets/d3dadapter9/meson.build index 2ce9ecd6fc1..d036e3c9349 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, libnir, - ], + link_with : gallium_nine_link_with, dependencies : [ dep_selinux, dep_libdrm, dep_llvm, dep_thread, idep_xmlconfig, idep_mesautil, driver_swrast, driver_r300, driver_r600, driver_radeonsi, driver_nouveau, |