aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGoaLitiuM <goalitium@kapsi.fi>2018-09-06 04:18:56 +0300
committerGoaLitiuM <goalitium@kapsi.fi>2018-09-06 05:18:08 +0300
commit040dd03a7a605829df14678dac4aa2dee0eda4b1 (patch)
treeb8c37241e103c3fde4c95bb00725c369c0ede821
parentfd4c996a67328d849c95ae74b7f9315550671a56 (diff)
downloadmeson-040dd03a7a605829df14678dac4aa2dee0eda4b1.zip
meson-040dd03a7a605829df14678dac4aa2dee0eda4b1.tar.gz
meson-040dd03a7a605829df14678dac4aa2dee0eda4b1.tar.bz2
Fix remaining soname and rpath issues on OSX
-rw-r--r--mesonbuild/compilers/d.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index 6912ac9..6801db7 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -150,12 +150,15 @@ class DCompiler(Compiler):
def get_soname_args(self, *args):
# FIXME: Make this work for cross-compiling
- gcc_type = GCC_STANDARD
if is_windows():
- gcc_type = GCC_CYGWIN
- if is_osx():
- gcc_type = GCC_OSX
- return get_gcc_soname_args(gcc_type, *args)
+ return []
+ elif is_osx():
+ soname_args = get_gcc_soname_args(GCC_OSX, *args)
+ if soname_args:
+ return ['-Wl,' + ','.join(soname_args)]
+ return []
+
+ return get_gcc_soname_args(GCC_STANDARD, *args)
def get_feature_args(self, kwargs, build_to_src):
res = []
@@ -230,7 +233,7 @@ class DCompiler(Compiler):
paths = padding
else:
paths = paths + ':' + padding
- return ['-Wl,-rpath={}'.format(paths)]
+ return ['-Wl,-rpath,{}'.format(paths)]
def _get_compiler_check_args(self, env, extra_args, dependencies, mode='compile'):
if extra_args is None: