Fix bug related to conditional-dependency files.
[bertos.git] / wizard / bertos_utils.py
index 7f470a1cc8556d6745c8295dbb5a63cb85e0a1d9..004e67bf5512b53e1d55eaae7f32f250aa058c05 100644 (file)
@@ -307,8 +307,7 @@ def csrcGenerator(project_info):
             for file in information["hw"]:
                 if file.endswith(".c"):
                     module_files |= set([hwdir + "/" + os.path.basename(file)])
-            for file_dependency in information["depends"]:
-                if file_dependency in files:
+            for file_dependency in information["depends"] + tuple(files.keys()):
                     dependencyCFiles, dependencySFiles = findModuleFiles(file_dependency, project_info)
                     dependency_files |= set(dependencyCFiles)
                     asm_files |= set(dependencySFiles)
@@ -709,6 +708,14 @@ def loadConfigurationInfos(path):
                 configuration_infos[name]["value"].find("U") != -1):
             configuration_infos[name]["informations"]["unsigned"] = True
             configuration_infos[name]["value"] = configuration_infos[name]["value"].replace("U", "")
+        if "conditional_deps" in configuration_infos[name]["informations"]:
+            if (type(configuration_infos[name]["informations"]["conditional_deps"]) == str or
+                    type(configuration_infos[name]["informations"]["conditional_deps"]) == unicode):
+                configuration_infos[name]["informations"]["conditional_deps"] = (configuration_infos[name]["informations"]["conditional_deps"], )
+            elif type(configuration_infos[name]["informations"]["conditional_deps"]) == tuple:
+                pass
+            else:
+                configuration_infos[name]["informations"]["conditional_deps"] = ()
         configuration_infos[name]["description"] = description
         configuration_infos[name]["brief"] = brief
     return configuration_infos