diff options
-rw-r--r-- | mesonbuild/compilers/d.py | 15 |
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 = [] |