diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-03-23 08:32:01 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2017-03-23 10:26:29 +0530 |
commit | 7f80f81ac9c00ed328566d9aec5140b4f9d1d21d (patch) | |
tree | bd5efaf8b6cde4683a1852f3f3759fbc46a727dc /mesonbuild/backend/vs2010backend.py | |
parent | 8482286236f6d91dfaa02e4254e0e15430e67eb2 (diff) | |
download | meson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.zip meson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.tar.gz meson-7f80f81ac9c00ed328566d9aec5140b4f9d1d21d.tar.bz2 |
Preserve the order of internal deps in a target
We were adding them to the CompilerArgs instance in the order in which
they are specified, which is wrong because later dependencies would
override previous ones. Add them in the reverse order instead.
Closes https://github.com/mesonbuild/meson/issues/1495
Diffstat (limited to 'mesonbuild/backend/vs2010backend.py')
-rw-r--r-- | mesonbuild/backend/vs2010backend.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/backend/vs2010backend.py b/mesonbuild/backend/vs2010backend.py index e1f7325..e512f0e 100644 --- a/mesonbuild/backend/vs2010backend.py +++ b/mesonbuild/backend/vs2010backend.py @@ -714,12 +714,15 @@ class Vs2010Backend(backends.Backend): # and from `include_directories:` of internal deps of the target. # # Target include dirs should override internal deps include dirs. + # This is handled in BuildTarget.process_kwargs() # # Include dirs from internal deps should override include dirs from - # external deps. + # external deps and must maintain the order in which they are + # specified. Hence, we must reverse so that the order is preserved. + # # These are per-target, but we still add them as per-file because we # need them to be looked in first. - for d in target.get_include_dirs(): + for d in reversed(target.get_include_dirs()): for i in d.get_incdirs(): curdir = os.path.join(d.get_curdir(), i) args.append('-I' + self.relpath(curdir, target.subdir)) # build dir @@ -769,7 +772,7 @@ class Vs2010Backend(backends.Backend): # Split compile args needed to find external dependencies # Link args are added while generating the link command - for d in target.get_external_deps(): + for d in reversed(target.get_external_deps()): # Cflags required by external deps might have UNIX-specific flags, # so filter them out if needed d_compile_args = compiler.unix_args_to_native(d.get_compile_args()) |