diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-04-08 20:45:41 +0300 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek.chauhan@gmail.com> | 2019-04-09 16:01:52 +0000 |
commit | 6fcf6dfd68d80d8e462dea34fa3be7b8010571fe (patch) | |
tree | 8127c06a37defc71be9ddc7713f3430c24089cdc /mesonbuild/compilers/compilers.py | |
parent | 54db2c9babe6391bba525f92573ceeadb8303e78 (diff) | |
download | meson-6fcf6dfd68d80d8e462dea34fa3be7b8010571fe.zip meson-6fcf6dfd68d80d8e462dea34fa3be7b8010571fe.tar.gz meson-6fcf6dfd68d80d8e462dea34fa3be7b8010571fe.tar.bz2 |
Use LDFLAGS only on languages that need it. Closes #5215.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 208389e..e29ca55 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -67,6 +67,8 @@ for _l in clink_langs + ('vala',): clink_suffixes += lang_suffixes[_l] clink_suffixes += ('h', 'll', 's') +# Languages that should use LDFLAGS arguments when linking. +languages_using_ldflags = ('objcpp', 'cpp', 'objc', 'c', 'fortran', 'd', 'cuda') soregex = re.compile(r'.*\.so(\.[0-9]+)?(\.[0-9]+)?(\.[0-9]+)?$') # Environment variables that each lang uses. @@ -976,6 +978,12 @@ class Compiler: """ return self.get_language() in {'c', 'cpp', 'objc', 'objcpp'} + def use_ldflags(self) -> bool: + """ + Whether the compiler (or processes it spawns) cares about LDFLAGS + """ + return self.get_language() in languages_using_ldflags + def get_args_from_envvars(self): """ Returns a tuple of (compile_flags, link_flags) for the specified language @@ -1004,7 +1012,10 @@ class Compiler: compile_flags += shlex.split(env_compile_flags) # Link flags (same for all languages) - env_link_flags = os.environ.get('LDFLAGS') + if self.use_ldflags(): + env_link_flags = os.environ.get('LDFLAGS') + else: + env_link_flags = None log_var('LDFLAGS', env_link_flags) if env_link_flags is not None: link_flags += shlex.split(env_link_flags) |