On 6/28/19 5:32 AM, Bob Feng wrote: > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1921 > > Add TOOLS_DEF.ARCH file to all workspace meta files list. > TOOLS_DEF.ARCH include the evaluated Tool definition information > which is filtered by current tool_chain. > > With this change, when the environment variable which > is used in ToolDef.txt is changed, build tool will > rebuild the platform. > > Signed-off-by: Bob Feng <[email protected]> > Cc: Liming Gao <[email protected]> > Cc: Michael D Kinney <[email protected]> > Cc: Steven Shi <[email protected]> > --- > BaseTools/Source/Python/AutoGen/AutoGen.py | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py > b/BaseTools/Source/Python/AutoGen/AutoGen.py > index e8e09dc8a366..24592593c868 100644 > --- a/BaseTools/Source/Python/AutoGen/AutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py > @@ -792,10 +792,13 @@ class WorkspaceAutoGen(AutoGen): > > # add PcdToken Number file for Dynamic/DynamicEx Pcd > # > AllWorkSpaceMetaFiles.add(os.path.join(self.BuildDir, > 'PcdTokenNumber')) > > + for Pa in self.AutoGenObjectList: > + AllWorkSpaceMetaFiles.add(Pa.ToolDefinitionFile) > + > for Arch in self.ArchList: > # > # add dec > # > for Package in PlatformAutoGen(self, self.MetaFile, Target, > Toolchain, Arch).PackageList: > @@ -1859,11 +1862,11 @@ class PlatformAutoGen(AutoGen): > def ToolDefinition(self): > ToolDefinition = self.Workspace.ToolDef.ToolsDefTxtDictionary > if TAB_TOD_DEFINES_COMMAND_TYPE not in > self.Workspace.ToolDef.ToolsDefTxtDatabase: > EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, "No tools found > in configuration", > ExtraData="[%s]" % self.MetaFile) > - RetVal = {} > + RetVal = OrderedDict() > DllPathList = set() > for Def in ToolDefinition: > Target, Tag, Arch, Tool, Attr = Def.split("_") > if Target != self.BuildTarget or Tag != self.ToolChain or Arch > != self.Arch: > continue > @@ -1873,11 +1876,11 @@ class PlatformAutoGen(AutoGen): > if Attr == "DLL": > DllPathList.add(Value) > continue > > if Tool not in RetVal: > - RetVal[Tool] = {} > + RetVal[Tool] = OrderedDict() > RetVal[Tool][Attr] = Value > > ToolsDef = '' > if GlobalData.gOptions.SilentMode and "MAKE" in RetVal: > if "FLAGS" not in RetVal["MAKE"]: >
Reviewed-by: Philippe Mathieu-Daude <[email protected]> -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43474): https://edk2.groups.io/g/devel/message/43474 Mute This Topic: https://groups.io/mt/32238757/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
