aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorJosh Gao <josh@insolit.us>2018-10-27 21:34:20 -0700
committerJussi Pakkanen <jpakkane@gmail.com>2018-10-30 20:25:32 +0200
commitedda80cc75cac9ddd15ba2b8cefc93eefcb736ef (patch)
tree60b8e5300f2ad2c3c4be341161dc921f7bb15ad8 /mesonbuild
parentd505a68e3489a30ef12f59cbaeef2b9d1bbc3e66 (diff)
downloadmeson-edda80cc75cac9ddd15ba2b8cefc93eefcb736ef.zip
meson-edda80cc75cac9ddd15ba2b8cefc93eefcb736ef.tar.gz
meson-edda80cc75cac9ddd15ba2b8cefc93eefcb736ef.tar.bz2
Generalize gnulike-targeting-windows checks.
Replace several checks against GCC_MINGW or (GCC_MINGW, GCC_CYGWIN) with is_windows_compiler instead, so that clang and other gcc-like compilers using MinGW work appropriately with vs_module_defs, c_winlibs, and cpp_winlibs. Fixes #4434.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/compilers/c.py4
-rw-r--r--mesonbuild/compilers/compilers.py4
-rw-r--r--mesonbuild/compilers/cpp.py4
3 files changed, 6 insertions, 6 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py
index c8e473a..a6ae4af 100644
--- a/mesonbuild/compilers/c.py
+++ b/mesonbuild/compilers/c.py
@@ -1179,7 +1179,7 @@ class GnuCCompiler(GnuCompiler, CCompiler):
['none', 'c89', 'c99', 'c11',
'gnu89', 'gnu99', 'gnu11'],
'none')})
- if self.compiler_type == CompilerType.GCC_MINGW:
+ if self.compiler_type.is_windows_compiler:
opts.update({
'c_winlibs': coredata.UserArrayOption('c_winlibs', 'Standard Win libraries to link against',
gnu_winlibs), })
@@ -1193,7 +1193,7 @@ class GnuCCompiler(GnuCompiler, CCompiler):
return args
def get_option_link_args(self, options):
- if self.compiler_type == CompilerType.GCC_MINGW:
+ if self.compiler_type.is_windows_compiler:
return options['c_winlibs'].value[:]
return []
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index 68fbbfa..137b3f7 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1482,13 +1482,13 @@ class GnuCompiler(GnuLikeCompiler):
raise RuntimeError('Module definitions file should be str')
# On Windows targets, .def files may be specified on the linker command
# line like an object file.
- if self.compiler_type in (CompilerType.GCC_CYGWIN, CompilerType.GCC_MINGW):
+ if self.compiler_type.is_windows_compiler:
return [defsfile]
# For other targets, discard the .def file.
return []
def get_gui_app_args(self, value):
- if self.compiler_type in (CompilerType.GCC_CYGWIN, CompilerType.GCC_MINGW) and value:
+ if self.compiler_type.is_windows_compiler and value:
return ['-mwindows']
return []
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index ac44676..9dc2876 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -202,7 +202,7 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
'cpp_debugstl': coredata.UserBooleanOption('cpp_debugstl',
'STL debug mode',
False)})
- if self.compiler_type == CompilerType.GCC_MINGW:
+ if self.compiler_type.is_windows_compiler:
opts.update({
'cpp_winlibs': coredata.UserArrayOption('cpp_winlibs', 'Standard Win libraries to link against',
gnu_winlibs), })
@@ -218,7 +218,7 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
return args
def get_option_link_args(self, options):
- if self.compiler_type == CompilerType.GCC_MINGW:
+ if self.compiler_type.is_windows_compiler:
return options['cpp_winlibs'].value[:]
return []