[igt-dev] [PATCH i-g-t 1/2] amdgpu/meson: Set the correct rpath
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Mon Jul 9 14:27:11 UTC 2018
AMDGPU tests were reusing rpath set in tests/meson.build, which does not
account for the extra level of nesting, so let's define a new one.
Cc: Harry Wentland <harry.wentland at amd.com>
Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: Petri Latvala <petri.latvala at intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
---
tests/amdgpu/meson.build | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/tests/amdgpu/meson.build b/tests/amdgpu/meson.build
index af5e74c7..434e4339 100644
--- a/tests/amdgpu/meson.build
+++ b/tests/amdgpu/meson.build
@@ -9,11 +9,35 @@ if libdrm_amdgpu.found()
amdgpu_deps += libdrm_amdgpu
endif
+amdgpudir = join_paths(libexecdir, 'amdgpu')
+
+if get_option('use_rpath')
+ # Set up runpath for the test executables towards libigt.so.
+ # The path should be relative to $ORIGIN so the library is
+ # still found properly even if installed to a path other than
+ # prefix.
+
+ # libdir and libexecdir are pathnames relative to
+ # prefix. meson enforces this.
+
+ # Start from the executable
+ amdgpu_rpathdir = '$ORIGIN'
+ # Executables are installed in amdgpudir. Add a .. for each
+ # directory name in it.
+ foreach p : amdgpudir.split('/')
+ amdgpu_rpathdir = join_paths(amdgpu_rpathdir, '..')
+ endforeach
+ # Add relative path to libdir
+ amdgpu_rpathdir = join_paths(amdgpu_rpathdir, libdir)
+else
+ amdgpu_rpathdir = ''
+endif
+
foreach prog : amdgpu_progs
test_executables += executable(prog, prog + '.c',
dependencies : amdgpu_deps,
- install_dir : join_paths(libexecdir, 'amdgpu'),
- install_rpath : rpathdir,
+ install_dir : amdgpudir,
+ install_rpath : amdgpu_rpathdir,
install : true)
test_progs += join_paths('amdgpu', prog)
endforeach
--
2.14.4
More information about the igt-dev
mailing list