diff options
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r-- | mesonbuild/compilers/c.py | 9 | ||||
-rw-r--r-- | mesonbuild/compilers/compilers.py | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index 2dfe794..1a0d6b2 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -1276,8 +1276,13 @@ class VisualStudioCCompiler(CCompiler): def linker_to_compiler_args(self, args): return ['/link'] + args - def get_gui_app_args(self): - return ['/SUBSYSTEM:WINDOWS'] + def get_gui_app_args(self, value): + # the default is for the linker to guess the subsystem based on presence + # of main or WinMain symbols, so always be explicit + if value: + return ['/SUBSYSTEM:WINDOWS'] + else: + return ['/SUBSYSTEM:CONSOLE'] def get_pic_args(self): return [] # PIC is handled by the loader on Windows diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index ea0fc2c..381b995 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -1277,8 +1277,8 @@ class GnuCompiler: # For other targets, discard the .def file. return [] - def get_gui_app_args(self): - if self.gcc_type in (GCC_CYGWIN, GCC_MINGW): + def get_gui_app_args(self, value): + if self.gcc_type in (GCC_CYGWIN, GCC_MINGW) and value: return ['-mwindows'] return [] |