mirror of https://github.com/acidanthera/audk.git
BaseTools: Guid.xref doesn't specify the correct GUID value for Driver
In DSC, we can define the driver with the different FILE GUID. So this driver name and its FILE GUID should also be listed in Build output Guid.xref. But now, Guid.xref still lists the driver MODULE_GUID. The case in Platform.dsc: MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf { <Defines> FILE_GUID = 3A4A354F-6935-40fa-B19C-500EEEBF0BC2 <LibraryClasses> PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf } Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
parent
83964ebc5e
commit
1d802e234e
|
@ -605,6 +605,11 @@ class GenFds :
|
|||
GuidDict = {}
|
||||
ModuleList = []
|
||||
FileGuidList = []
|
||||
GuidPattern = re.compile("\s*([0-9a-fA-F]){8}-"
|
||||
"([0-9a-fA-F]){4}-"
|
||||
"([0-9a-fA-F]){4}-"
|
||||
"([0-9a-fA-F]){4}-"
|
||||
"([0-9a-fA-F]){12}\s*")
|
||||
for Arch in ArchList:
|
||||
PlatformDataBase = BuildDb.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]
|
||||
for ModuleFile in PlatformDataBase.Modules:
|
||||
|
@ -613,7 +618,11 @@ class GenFds :
|
|||
continue
|
||||
else:
|
||||
ModuleList.append(Module)
|
||||
GuidXRefFile.write("%s %s\n" % (Module.Guid, Module.BaseName))
|
||||
GuidMatch = GuidPattern.match(ModuleFile.BaseName)
|
||||
if GuidMatch is not None:
|
||||
GuidXRefFile.write("%s %s\n" % (ModuleFile.BaseName, Module.BaseName))
|
||||
else:
|
||||
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():
|
||||
|
|
Loading…
Reference in New Issue