From ec5007364487da64545f383b5725ed5074109050 Mon Sep 17 00:00:00 2001 From: Ting-Wei Lan Date: Wed, 24 Jan 2018 22:18:12 +0800 Subject: Print warning when linker arguments are passed to has_argument has_argument and other similar methods of compiler objects only support checking compiler flags. If they are used to check linker flags, the results are very likely to be wrong and developers should be warned. --- mesonbuild/compilers/cpp.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mesonbuild/compilers/cpp.py') diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index 5e32ace68..3a7e753d8 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -14,6 +14,7 @@ import os.path +from .. import mlog from .. import coredata from ..mesonlib import version_compare @@ -174,6 +175,13 @@ class IntelCPPCompiler(IntelCompiler, CPPCompiler): return [] def has_multi_arguments(self, args, env): + for arg in args: + if arg.startswith('-Wl,'): + mlog.warning('''{} looks like a linker argument, but has_argument +and other similar methods only support checking compiler arguments. +Using them to check linker arguments are never supported, and results +are likely to be wrong regardless of the compiler you are using. +'''.format(arg)) return super().has_multi_arguments(args + ['-diag-error', '10006'], env) -- cgit v1.2.3