summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2018-09-20 16:25:32 +0100
committerJussi Pakkanen <jpakkane@gmail.com>2018-09-23 11:23:23 +0300
commitcf58f56e1619bbd012c9cc68e81916148530b57e (patch)
tree1f8ee9da449a16499180660916440d679f39fa96 /mesonbuild/compilers/compilers.py
parent9453ac6182f19ac0083447b1430b8d6afaa65b6c (diff)
downloadmeson-cf58f56e1619bbd012c9cc68e81916148530b57e.tar.gz
linker flags --as-needed and --no-undefined aren't meaningful for PE
--as-needed controls ELF-specific functionality (the emission of DT_NEEDED tags) --no-undefined is effectively always on for PE/COFF, as the linkage model always requires symbols to be defined binutils ld silently ignores these flags for PE targets, but lld warns that it's ignoring them, so just don't bother emitting them for PE targets.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index a10f9ed53..87bf5afcd 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1314,9 +1314,11 @@ class GnuLikeCompiler(abc.ABC):
def __init__(self, compiler_type):
self.compiler_type = compiler_type
self.base_options = ['b_pch', 'b_lto', 'b_pgo', 'b_sanitize', 'b_coverage',
- 'b_ndebug', 'b_staticpic', 'b_asneeded']
- if not self.compiler_type.is_osx_compiler:
+ 'b_ndebug', 'b_staticpic']
+ if not self.compiler_type.is_osx_compiler and not self.compiler_type.is_windows_compiler:
self.base_options.append('b_lundef')
+ if not self.compiler_type.is_windows_compiler:
+ self.base_options.append('b_asneeded')
# All GCC-like backends can do assembly
self.can_compile_suffixes.add('s')