Bug 860: waf dies while executing ns3header task in case of parallel jobs.
authorAndrey Mazo <mazo@iitp.ru>
Tue, 06 Apr 2010 11:34:06 +0400
changeset 6168 c737d0a0e9a0
parent 6167 b920710704c9
child 6169 bef40786d55b
Bug 860: waf dies while executing ns3header task in case of parallel jobs.
src/wscript
--- a/src/wscript	Tue Mar 30 12:55:14 2010 -0400
+++ b/src/wscript	Tue Apr 06 11:34:06 2010 +0400
@@ -11,6 +11,11 @@
 import Build
 import Utils
 
+try:
+    set
+except NameError:
+    from sets import Set as set # Python 2.3 fallback
+
 all_modules = (
     'core',
     'common',
@@ -140,7 +145,7 @@
         ns3_dir_node = self.bld.path.find_dir("ns3")
         if self.sub_dir is not None:
             ns3_dir_node = ns3_dir_node.find_dir(self.sub_dir)
-        for filename in self.to_list(self.source):
+        for filename in set(self.to_list(self.source)):
             src_node = self.path.find_resource(filename)
             if src_node is None:
                 raise Utils.WafError("source ns3 header file %s not found" % (filename,))
@@ -238,7 +243,7 @@
                 if ns3headers.module != self.module:
                     continue
                 found_the_module = True
-                for source in ns3headers.to_list(ns3headers.source):
+                for source in set(ns3headers.to_list(ns3headers.source)):
                     source = os.path.basename(source)
                     node = ns3_dir_node.find_or_declare(os.path.basename(source))
                     if node is None: