Sync BaseTool trunk (version r2670) into EDKII BaseTools.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gao, Liming <liming.gao@intel.com> Reviewed-by: Liu, Yingke D (yingke.d.liu@intel.com) git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15605 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -36,6 +36,7 @@ from Common import EdkLogger
|
||||
from Common.String import *
|
||||
from Common.Misc import DirCache,PathClass
|
||||
from Common.Misc import SaveFileOnChange
|
||||
from Common.Misc import GuidStructureStringToGuidString
|
||||
from Common.BuildVersion import gBUILD_VERSION
|
||||
|
||||
## Version and Copyright
|
||||
@ -511,11 +512,23 @@ class GenFds :
|
||||
def GenerateGuidXRefFile(BuildDb, ArchList):
|
||||
GuidXRefFileName = os.path.join(GenFdsGlobalVariable.FvDir, "Guid.xref")
|
||||
GuidXRefFile = StringIO.StringIO('')
|
||||
GuidDict = {}
|
||||
for Arch in ArchList:
|
||||
PlatformDataBase = BuildDb.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
|
||||
for ModuleFile in PlatformDataBase.Modules:
|
||||
Module = BuildDb.BuildObject[ModuleFile, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
|
||||
GuidXRefFile.write("%s %s\n" % (Module.Guid, Module.BaseName))
|
||||
for key, item in Module.Protocols.items():
|
||||
GuidDict[key] = item
|
||||
for key, item in Module.Guids.items():
|
||||
GuidDict[key] = item
|
||||
for key, item in Module.Ppis.items():
|
||||
GuidDict[key] = item
|
||||
# Append GUIDs, Protocols, and PPIs to the Xref file
|
||||
GuidXRefFile.write("\n")
|
||||
for key, item in GuidDict.items():
|
||||
GuidXRefFile.write("%s %s\n" % (GuidStructureStringToGuidString(item).upper(), key))
|
||||
|
||||
if GuidXRefFile.getvalue():
|
||||
SaveFileOnChange(GuidXRefFileName, GuidXRefFile.getvalue(), False)
|
||||
GenFdsGlobalVariable.InfLogger("\nGUID cross reference file can be found at %s" % GuidXRefFileName)
|
||||
|
Reference in New Issue
Block a user