aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers/d.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py
index 40c2ca4..8ede4ec 100644
--- a/mesonbuild/compilers/d.py
+++ b/mesonbuild/compilers/d.py
@@ -14,10 +14,12 @@
import os.path, subprocess
-from ..mesonlib import EnvironmentException, version_compare
+from ..mesonlib import EnvironmentException, version_compare, is_windows, is_osx
from .compilers import (
GCC_STANDARD,
+ GCC_CYGWIN,
+ GCC_OSX,
d_dmd_buildtype_args,
d_gdc_buildtype_args,
d_ldc_buildtype_args,
@@ -108,8 +110,15 @@ class DCompiler(Compiler):
return ['-shared']
def get_soname_args(self, prefix, shlib_name, suffix, soversion, is_shared_module):
- # FIXME: Make this work for Windows, MacOS and cross-compiling
- return get_gcc_soname_args(GCC_STANDARD, prefix, shlib_name, suffix, soversion, is_shared_module)
+ # 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, prefix, shlib_name, suffix, soversion, is_shared_module)
+
def get_feature_args(self, kwargs, build_to_src):
res = []