X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBProject.py;h=0a1adea95d4a7640f2c5555be6b15547c17694d4;hb=b9e1e52093d33494bf4a8ca27c14a56a25b6e0bc;hp=4564f79d418bbf2561164809c6b0fd62e020b6bb;hpb=afbcef7c7b408083dbcd77bc4697513dc10ea58d;p=bertos.git diff --git a/wizard/BProject.py b/wizard/BProject.py index 4564f79d..0a1adea9 100644 --- a/wizard/BProject.py +++ b/wizard/BProject.py @@ -28,7 +28,6 @@ # # Copyright 2008 Develer S.r.l. (http://www.develer.com/) # -# $Id$ # # Author: Lorenzo Berni # @@ -95,6 +94,9 @@ class BProject(object): self.infos["PROJECT_SRC_PATH"] = os.path.join(self.infos["PROJECT_PATH"], self.infos["PROJECT_NAME"]) self.infos["PROJECT_HW_PATH"] = os.path.join(self.infos["PROJECT_PATH"], project_data.get("PROJECT_HW_PATH", self.infos["PROJECT_PATH"])) + self.infos["PROJECT_SRC_PATH_FROM_MAKEFILE"] = project_data.get("PROJECT_SRC_PATH_FROM_MAKEFILE") + self.infos["PROJECT_HW_PATH_FROM_MAKEFILE"] = project_data.get("PROJECT_HW_PATH_FROM_MAKEFILE") + linked_sources_path = project_data["BERTOS_PATH"] sources_abspath = os.path.abspath(os.path.join(project_dir, linked_sources_path)) project_data["BERTOS_PATH"] = sources_abspath @@ -148,7 +150,7 @@ class BProject(object): toolchain = toolchain if forced_toolchain: toolchain = forced_toolchain - if os.path.exists(toolchain["path"]): + if os.path.exists(toolchain["path"]) or bertos_utils.findInPath(toolchain["path"]): self.infos["TOOLCHAIN"] = toolchain else: raise ToolchainException(self) @@ -245,7 +247,7 @@ class BProject(object): try: to_be_parsed, module_dict = loadModuleDefinition(comment_list[0]) except ParseError, err: - raise DefineException.ModuleDefineException(path, err.line_number, err.line) + raise DefineException.ModuleDefineException(os.path.join(path, filename), err.line_number, err.line) for module, information in module_dict.items(): if "depends" not in information: information["depends"] = () @@ -283,7 +285,7 @@ class BProject(object): list_dict = loadDefineLists(comment_list[1:]) list_info_dict.update(list_dict) except ParseError, err: - raise DefineException.EnumDefineException(path, err.line_number, err.line) + raise DefineException.EnumDefineException(os.path.join(path, filename), err.line_number, err.line) for tag in self.infos["CPU_INFOS"]["CPU_TAGS"]: for filename, path in self.findDefinitions("*_" + tag + ".h"): comment_list = getCommentList(open(path + "/" + filename, "r").read()) @@ -368,10 +370,6 @@ class BProject(object): # Copyt the new *_user.mk file self._writeUserMkFileFromPreset() - if self.infos["EMPTY_MAIN"]: - # Create and empty main.c file only if the user check the box - self._writeMainFile(self.prjdir + "/main.c") - # Create project files for selected plugins self._createProjectFiles() @@ -388,8 +386,11 @@ class BProject(object): self._mergeSources(self.bertos_maindir, self.srcdir, self.old_srcdir) # Copy all the hw files self._writeHwFiles(self.bertos_srcdir, self.hwdir) - # Destination wizard mk file - self._writeWizardMkFile() + + # Destination wizard mk file (it seems that this file need to be + # rewritten also if the project is a preset)... + self._writeWizardMkFile() + # Set properly the autoenabled parameters self._setupAutoenabledParameters() # Copy all the configuration files