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

Liming Gao liming.gao at intel.com
Fri Jul 12 09:12:40 UTC 2019


Push @2d100d1d73a9f9a38f224e87c48276ba1e84d8ce

> -----Original Message-----
> From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of Liming Gao
> Sent: Thursday, July 11, 2019 2:54 PM
> To: devel at edk2.groups.io; Feng, Bob C <bob.c.feng at intel.com>
> Subject: Re: [edk2-devel] [Patch 1/1] BaseTools: Fixed the issue when ToolDefinitionFile is not generated
> 
> Reviewed-by: Liming Gao <liming.gao at intel.com>
> 
> >-----Original Message-----
> >From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> >Bob Feng
> >Sent: Thursday, July 11, 2019 8:58 AM
> >To: devel at edk2.groups.io
> >Cc: Gao, Liming <liming.gao at intel.com>; Feng, Bob C <bob.c.feng at intel.com>
> >Subject: [edk2-devel] [Patch 1/1] BaseTools: Fixed the issue when
> >ToolDefinitionFile is not generated
> >
> >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 (#43652): https://edk2.groups.io/g/devel/message/43652
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