Revision: 16330
          http://sourceforge.net/p/edk2/code/16330
Author:   yingke
Date:     2014-11-11 07:33:50 +0000 (Tue, 11 Nov 2014)
Log Message:
-----------
BaseTool: Support EDKII style GUID definition for VFR function.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yingke Liu <[email protected]>
Reviewed-by: Liming Gao <[email protected]>

Modified Paths:
--------------
    trunk/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py
    trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py

Modified: trunk/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py       2014-11-11 
00:52:46 UTC (rev 16329)
+++ trunk/edk2/BaseTools/Source/Python/AutoGen/AutoGen.py       2014-11-11 
07:33:50 UTC (rev 16330)
@@ -2935,7 +2935,8 @@
     #
     def _GetGuidList(self):
         if self._GuidList == None:
-            self._GuidList = self.Module.Guids
+            self._GuidList = sdict()
+            self._GuidList.update(self.Module.Guids)
             for Library in self.DependentLibraryList:
                 self._GuidList.update(Library.Guids)
                 self.UpdateComments(self._GuidComments, Library.GuidComments)
@@ -2955,7 +2956,8 @@
     #
     def _GetProtocolList(self):
         if self._ProtocolList == None:
-            self._ProtocolList = self.Module.Protocols
+            self._ProtocolList = sdict()
+            self._ProtocolList.update(self.Module.Protocols)
             for Library in self.DependentLibraryList:
                 self._ProtocolList.update(Library.Protocols)
                 self.UpdateComments(self._ProtocolComments, 
Library.ProtocolComments)
@@ -2968,7 +2970,8 @@
     #
     def _GetPpiList(self):
         if self._PpiList == None:
-            self._PpiList = self.Module.Ppis
+            self._PpiList = sdict()
+            self._PpiList.update(self.Module.Ppis)
             for Library in self.DependentLibraryList:
                 self._PpiList.update(Library.Ppis)
                 self.UpdateComments(self._PpiComments, Library.PpiComments)

Modified: trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py  2014-11-11 00:52:46 UTC 
(rev 16329)
+++ trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py  2014-11-11 07:33:50 UTC 
(rev 16330)
@@ -1550,6 +1550,17 @@
         StringH.Append(gAutoGenHeaderString.Replace({'FileName':FileName}))
         StringH.Append(gAutoGenHPrologueString.Replace({'File':'STRDEFS', 
'Guid':Info.Guid.replace('-','_')}))
         CreateUnicodeStringCode(Info, AutoGenC, StringH, UniGenCFlag, 
UniGenBinBuffer)
+
+        GuidMacros = []
+        for Guid in Info.Module.Guids:
+            if Guid in Info.Module.GetGuidsUsedByPcd():
+                continue
+            GuidMacros.append('#define %s %s' % (Guid, 
Info.Module.Guids[Guid]))
+        for Guid, Value in Info.Module.Protocols.items() + 
Info.Module.Ppis.items():
+            GuidMacros.append('#define %s %s' % (Guid, Value))
+        if GuidMacros:
+            StringH.Append('\n#ifdef VFRCOMPILE\n%s\n#endif\n' % 
'\n'.join(GuidMacros))
+
         StringH.Append("\n#endif\n")
         AutoGenH.Append('#include "%s"\n' % FileName)
 


------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to