aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-12-19 15:52:21 -0800
committerDylan Baker <dylan@pnwbakers.com>2018-01-06 13:49:34 -0800
commit4620bdd8b4ca6a5619ff2e963f661a8784b89a05 (patch)
treec040861a8649664b4b3dc09bf37986dc0890545c /mesonbuild/compilers/compilers.py
parent10a560a411728f747c8394599ef95c9c8caa2086 (diff)
downloadmeson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.zip
meson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.tar.gz
meson-4620bdd8b4ca6a5619ff2e963f661a8784b89a05.tar.bz2
tests: fix rpath_uses_ORIGIN on dragonflybsd
Which always seems to prepend /usr/lib/gcc50 (or whatever version) to the rpath, and $ORIGIN after that.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 52dbb56..2602d14 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -857,6 +857,11 @@ class Compiler:
paths = paths + ':' + padding
args = []
if mesonlib.is_dragonflybsd():
+ # This argument instructs the compiler to record the value of
+ # ORIGIN in the .dynamic section of the elf. On Linux this is done
+ # by default, but is not on dragonfly for some reason. Without this
+ # $ORIGIN in the runtime path will be undefined and any binaries
+ # linked against local libraries will fail to resolve them.
args.append('-Wl,-z,origin')
args.append('-Wl,-rpath,' + paths)
if get_compiler_is_linuxlike(self):