aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurin-Luis Lehning <65224843+e820@users.noreply.github.com>2020-12-14 14:04:25 +0100
committerDylan Baker <dylan@pnwbakers.com>2020-12-14 11:23:53 -0800
commit919278e3e1db85b4acc517e5614cc6c7b3163aa4 (patch)
treeca72724d08e98a905520b872d271bc4b6d3fbb24
parent4053babf9cc240051df20576d1eed4f904eaa71e (diff)
downloadmeson-919278e3e1db85b4acc517e5614cc6c7b3163aa4.zip
meson-919278e3e1db85b4acc517e5614cc6c7b3163aa4.tar.gz
meson-919278e3e1db85b4acc517e5614cc6c7b3163aa4.tar.bz2
Give get_gui_app_args access to the Environment
-rw-r--r--mesonbuild/backend/ninjabackend.py3
-rw-r--r--mesonbuild/compilers/compilers.py4
-rw-r--r--mesonbuild/compilers/mixins/gnu.py2
-rw-r--r--mesonbuild/linkers.py8
4 files changed, 9 insertions, 8 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 9193dfc..1ec1af0 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -2702,8 +2702,9 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
# If gui_app is significant on this platform, add the appropriate linker arguments.
# Unfortunately this can't be done in get_target_type_link_args, because some misguided
# libraries (such as SDL2) add -mwindows to their link flags.
+
if target.gui_app is not None:
- commands += linker.get_gui_app_args(target.gui_app)
+ commands += linker.get_gui_app_args(self.environment, target.gui_app)
else:
commands += linker.get_win_subsystem_args(self.environment, target.win_subsystem)
return commands
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index e83514d..abb8af3 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -870,9 +870,9 @@ class Compiler(metaclass=abc.ABCMeta):
def gnu_symbol_visibility_args(self, vistype: str) -> T.List[str]:
return []
- def get_gui_app_args(self, value: bool) -> T.List[str]:
+ def get_gui_app_args(self, env: 'Environment', value: bool) -> T.List[str]:
# Only used on Windows
- return self.linker.get_gui_app_args(value)
+ return self.linker.get_gui_app_args(env, value)
def get_win_subsystem_args(self, env: 'Environment', value: str) -> T.List[str]:
# By default the dynamic linker is going to return an empty
diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py
index bb41a8a..74841ff 100644
--- a/mesonbuild/compilers/mixins/gnu.py
+++ b/mesonbuild/compilers/mixins/gnu.py
@@ -214,7 +214,7 @@ class GnuLikeCompiler(Compiler, metaclass=abc.ABCMeta):
def get_profile_use_args(self) -> T.List[str]:
return ['-fprofile-use', '-fprofile-correction']
- def get_gui_app_args(self, value: bool) -> T.List[str]:
+ def get_gui_app_args(self, env: 'Environment', value: bool) -> T.List[str]:
if self.info.is_windows() or self.info.is_cygwin():
return ['-mwindows' if value else '-mconsole']
return []
diff --git a/mesonbuild/linkers.py b/mesonbuild/linkers.py
index 6259b4e..eaaf299 100644
--- a/mesonbuild/linkers.py
+++ b/mesonbuild/linkers.py
@@ -477,7 +477,7 @@ class DynamicLinker(LinkerEnvVarsMixin, metaclass=abc.ABCMeta):
# Only used by the Apple linker
return []
- def get_gui_app_args(self, value: bool) -> T.List[str]:
+ def get_gui_app_args(self, env: 'Environment', value: bool) -> T.List[str]:
# Only used by VisualStudioLikeLinkers
return []
@@ -1154,11 +1154,11 @@ class VisualStudioLikeLinkerMixin:
def get_allow_undefined_args(self) -> T.List[str]:
return []
- def get_gui_app_args(self, value: bool) -> T.List[str]:
+ def get_gui_app_args(self, env: 'Environment', value: bool) -> T.List[str]:
if value:
- return self.get_win_subsystem_args("windows")
+ return self.get_win_subsystem_args(env, "windows")
- return self.get_win_subsystem_args("console")
+ return self.get_win_subsystem_args(env, "console")
def get_win_subsystem_args(self, env: 'Environment', value: str) -> T.List[str]:
return self._apply_prefix([f'/SUBSYSTEM:{value.upper()}'])