[edk2-devel] [Patch 1/1] BaseTools: Fixed the issue when ToolDefinitionFile is not generated

Bob Feng bob.c.feng at intel.com
Thu Jul 11 00:57:58 UTC 2019


ToolDefinitionFile is generated by PlatformAutoGen.ToolDefinition()
Code assume ToolDefinition is always called before using
ToolDefinitionFile, but in some cases, it's not true.

This patch is to fix this issue.

Cc: Liming Gao <liming.gao at intel.com>
Signed-off-by: Bob Feng <bob.c.feng at intel.com>
---
 BaseTools/Source/Python/AutoGen/AutoGen.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py
index c0d0ca15867b..5cfaf2141af0 100644
--- a/BaseTools/Source/Python/AutoGen/AutoGen.py
+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py
@@ -1910,22 +1910,25 @@ class PlatformAutoGen(AutoGen):
                         if Attr == "FLAGS":
                             MakeFlags = Value
                     else:
                         ToolsDef += "%s_%s = %s\n" % (Tool, Attr, Value)
             ToolsDef += "\n"
-
-        SaveFileOnChange(self.ToolDefinitionFile, ToolsDef, False)
+        tool_def_file = os.path.join(self.MakeFileDir, "TOOLS_DEF." + self.Arch)
+        SaveFileOnChange(tool_def_file, ToolsDef, False)
         for DllPath in DllPathList:
             os.environ["PATH"] = DllPath + os.pathsep + os.environ["PATH"]
         os.environ["MAKE_FLAGS"] = MakeFlags
 
         return RetVal
 
     ## Return the paths of tools
     @cached_property
     def ToolDefinitionFile(self):
-        return os.path.join(self.MakeFileDir, "TOOLS_DEF." + self.Arch)
+        tool_def_file = os.path.join(self.MakeFileDir, "TOOLS_DEF." + self.Arch)
+        if not os.path.exists(tool_def_file):
+            self.ToolDefinition
+        return tool_def_file
 
     ## Retrieve the toolchain family of given toolchain tag. Default to 'MSFT'.
     @cached_property
     def ToolChainFamily(self):
         ToolDefinition = self.Workspace.ToolDef.ToolsDefTxtDatabase
-- 
2.20.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43532): https://edk2.groups.io/g/devel/message/43532
Mute This Topic: https://groups.io/mt/32422788/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list