aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/compilers.py5
-rw-r--r--mesonbuild/compilers/mixins/visualstudio.py12
2 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index bb698fc..2c9508b 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -900,6 +900,11 @@ class Compiler:
"Always returns a copy that can be independently mutated"
return args[:]
+ @classmethod
+ def native_args_to_unix(cls, args: typing.List[str]) -> typing.List[str]:
+ "Always returns a copy that can be independently mutated"
+ return args[:]
+
def find_library(self, *args, **kwargs):
raise EnvironmentException('Language {} does not support library finding.'.format(self.get_display_language()))
diff --git a/mesonbuild/compilers/mixins/visualstudio.py b/mesonbuild/compilers/mixins/visualstudio.py
index 5fe8599..48a2229 100644
--- a/mesonbuild/compilers/mixins/visualstudio.py
+++ b/mesonbuild/compilers/mixins/visualstudio.py
@@ -234,6 +234,18 @@ class VisualStudioLikeCompiler(metaclass=abc.ABCMeta):
result.append(i)
return result
+ @classmethod
+ def native_args_to_unix(cls, args: typing.List[str]) -> typing.List[str]:
+ result = []
+ for arg in args:
+ if arg.startswith('/LIBPATH:'):
+ result.append('-L' + arg[9:])
+ elif arg.endswith(('.a', '.lib')) and not os.path.isabs(arg):
+ result.append('-l' + arg)
+ else:
+ result.append(arg)
+ return result
+
def get_werror_args(self) -> typing.List[str]:
return ['/WX']