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/build.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/build.py')
-rw-r--r-- | mesonbuild/build.py | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py index c7e8f8e..2806331 100644 --- a/mesonbuild/build.py +++ b/mesonbuild/build.py @@ -598,16 +598,17 @@ class BuildTarget(Target): for i in self.link_depends: if not isinstance(i, str): raise InvalidArguments('Link_depends arguments must be strings.') - deplist = kwargs.get('dependencies', []) - if not isinstance(deplist, list): - deplist = [deplist] - self.add_deps(deplist) - # Target-specific include dirs must be added after include dirs from - # internal deps (added inside self.add_deps()) to override correctly. + # Target-specific include dirs must be added BEFORE include dirs from + # internal deps (added inside self.add_deps()) to override them. inclist = kwargs.get('include_directories', []) if not isinstance(inclist, list): inclist = [inclist] self.add_include_dirs(inclist) + # Add dependencies (which also have include_directories) + deplist = kwargs.get('dependencies', []) + if not isinstance(deplist, list): + deplist = [deplist] + self.add_deps(deplist) self.custom_install_dir = kwargs.get('install_dir', None) if self.custom_install_dir is not None: if not isinstance(self.custom_install_dir, str): |