Fix the double inclusion bug
[bertos.git] / wizard / bertos_utils.py
index f509a4c2430055680334b2856fc9994389ee6fe8..e17a4ed586d6bebc090619913d6fb2cc3a659674 100644 (file)
@@ -113,7 +113,7 @@ def mergeSources(srcdir, new_sources, old_sources):
     # TODO: implement the three way merge algorithm
     #
     shutil.rmtree(srcdir, True)
-    copytree.copytree(sources_dir + "/bertos", srcdir, ignore_list=const.IGNORE_LIST)
+    copytree.copytree(os.path.join(new_sources, "bertos"), srcdir, ignore_list=const.IGNORE_LIST)
 
 def projectFileGenerator(project_info):
     directory = project_info.info("PROJECT_PATH")
@@ -319,10 +319,15 @@ def csrcGenerator(project_info):
         cxxsrc.append(file)
     for file in project_info.info("CPU_INFOS")["ASRC"]:
         asrc.append(file)
+    csrc = set(csrc)
     csrc = " \\\n\t".join(csrc) + " \\"
+    pcsrc = set(pcsrc)
     pcsrc = " \\\n\t".join(pcsrc) + " \\"
+    cppasrc = set(cppasrc)
     cppasrc = " \\\n\t".join(cppasrc) + " \\"
+    cxxsrc = set(cxxsrc)
     cxxsrc = " \\\n\t".join(cxxsrc) + " \\"
+    asrc = set(asrc)
     asrc = " \\\n\t".join(asrc) + " \\"
     constants = "\n".join([os.path.basename(project_info.info("PROJECT_PATH")) + "_" + key + " = " + unicode(value) for key, value in constants.items()])
     return csrc, pcsrc, cppasrc, cxxsrc, asrc, constants