Fix D soname arguments for Windows and OSX
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 = []
