On Apr 17, 2014, at 2:47 AM, Gao, Liming <[email protected]> wrote:
> Andrew:
> I agree this change. Your patch is good to me. I think you can directly
> add this support. It has no impact for user.
>
Committed.
Sending Source/Python/GenFds/GenFds.py
Transmitting file data .
Committed revision 2660.
Thanks,
Andrew Fish
> Reviewed-by: Gao, Liming <[email protected]>
>
> Thanks
> Liming
> From: Andrew Fish [mailto:[email protected]]
> Sent: Monday, April 07, 2014 7:16 AM
> To: [email protected]
> Cc: [email protected]
> Subject: [edk2-buildtools] Any interest in adding all PPI/Protocol/GUID
> values to the build generated Guid.xref
>
> I hacked up a prototype and it seems to work. It places a newline in the
> Guid.xref between the FFS/INF names, and the other GUIDs.
>
> Is there any interest to adding this, or turning on a option to generate this
> kind of file? Seem like it would be useful.
>
> I did not test performance, but it seems fast. I went for readable (to a C
> programmer) code. You could probably also use
> GuidDict.update(Module.Protocols) like syntax too?
>
> Thanks,
>
> Andrew Fish
>
> >svn diff --diff-cmd diff Source/Python/GenFds/GenFds.py
> Index: Source/Python/GenFds/GenFds.py
> ===================================================================
> --- Source/Python/GenFds/GenFds.py (revision 15433)
> +++ Source/Python/GenFds/GenFds.py (working copy)
> @@ -36,6 +36,7 @@
> 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 @@
> 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)
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
edk2-buildtools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-buildtools-devel