aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend/vs2010backend.py
diff options
context:
space:
mode:
authorOle André Vadla RavnÄs <oleavr@gmail.com>2017-05-21 20:35:44 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-05-21 23:04:19 +0300
commitb595cda4ed0ca699da3052a6bd30ba7d1dae1124 (patch)
tree587c4654ebe3d2956fdca855c23f62f32e5fa346 /mesonbuild/backend/vs2010backend.py
parent5794f37af5c5ce0010168d163f2568d7581b5a13 (diff)
downloadmeson-b595cda4ed0ca699da3052a6bd30ba7d1dae1124.zip
meson-b595cda4ed0ca699da3052a6bd30ba7d1dae1124.tar.gz
meson-b595cda4ed0ca699da3052a6bd30ba7d1dae1124.tar.bz2
Fix cross environment pollution.
Environment variables like CFLAGS and LDFLAGS should not affect the cross environment. Fixes #1772
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r--mesonbuild/backend/vs2010backend.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py
index f97ab87..082f3c5 100644
--- a/mesonbuild/backend/vs2010backend.py
+++ b/mesonbuild/backend/vs2010backend.py
@@ -759,11 +759,12 @@ class Vs2010Backend(backends.Backend):
for l, args in self.build.global_args.items():
if l in file_args:
file_args[l] += args
- # Compile args added from the env: CFLAGS/CXXFLAGS, etc. We want these
- # to override all the defaults, but not the per-target compile args.
- for l, args in self.environment.coredata.external_args.items():
- if l in file_args:
- file_args[l] += args
+ if not target.is_cross:
+ # Compile args added from the env: CFLAGS/CXXFLAGS, etc. We want these
+ # to override all the defaults, but not the per-target compile args.
+ for l, args in self.environment.coredata.external_args.items():
+ if l in file_args:
+ file_args[l] += args
for args in file_args.values():
# This is where Visual Studio will insert target_args, target_defines,
# etc, which are added later from external deps (see below).
@@ -901,9 +902,10 @@ class Vs2010Backend(backends.Backend):
# Add link args added using add_global_link_arguments()
# These override per-project link arguments
extra_link_args += self.build.get_global_link_args(compiler)
- # Link args added from the env: LDFLAGS. We want these to
- # override all the defaults but not the per-target link args.
- extra_link_args += self.environment.coredata.external_link_args[compiler.get_language()]
+ if not target.is_cross:
+ # Link args added from the env: LDFLAGS. We want these to
+ # override all the defaults but not the per-target link args.
+ extra_link_args += self.environment.coredata.external_link_args[compiler.get_language()]
# Only non-static built targets need link args and link dependencies
extra_link_args += target.link_args
# External deps must be last because target link libraries may depend on them.