aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-03-14 00:49:10 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-03-14 00:49:10 +0200
commitd2cb344c91627aeec6b27b6bea0dfdc3832f3ee9 (patch)
tree60357ca00ed9e37bf5e853124ef790f51fb4302e
parentef180676c2f851f989771de4c44f85d44c5e93cc (diff)
downloadmeson-d2cb344c91627aeec6b27b6bea0dfdc3832f3ee9.zip
meson-d2cb344c91627aeec6b27b6bea0dfdc3832f3ee9.tar.gz
meson-d2cb344c91627aeec6b27b6bea0dfdc3832f3ee9.tar.bz2
Remove duplicate entries from list of source files.
-rw-r--r--build.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/build.py b/build.py
index 85f6edf..fff3d11 100644
--- a/build.py
+++ b/build.py
@@ -203,12 +203,15 @@ class BuildTarget():
def process_sourcelist(self, sources):
if not isinstance(sources, list):
sources = [sources]
+ added_sources = {} # If the same source is defined multiple times, use it only once.
for s in sources:
# Holder unpacking. Ugly.
if hasattr(s, 'held_object'):
s = s.held_object
if isinstance(s, str):
- self.sources.append(s)
+ if not s in added_sources:
+ self.sources.append(s)
+ added_sources[s] = True
elif isinstance(s, GeneratedList) or isinstance(s, CustomTarget):
self.generated.append(s)
else: