Yonghong:
  The description line is too long. Please separate them. You can use 
PatchCheck.py tool to check this patch format first. 

Thanks
Liming
-----Original Message-----
From: Zhu, Yonghong 
Sent: Friday, October 23, 2015 4:28 PM
To: edk2-devel@lists.01.org
Cc: Gao, Liming
Subject: [Patch] BaseTools: added extern protocols/PPI/GUID definition in 
AutoGen header for Library

We already added the extern declaration for protocols/PPI/GUID in AutoGen.h 
file, but missing this feature for the Library. so this patch added this 
feature for library.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Yonghong Zhu <yonghong....@intel.com>
---
 Source/Python/AutoGen/GenC.py | 27 ++++++++++++---------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/Source/Python/AutoGen/GenC.py b/Source/Python/AutoGen/GenC.py 
index 77de165..45fb989 100644
--- a/Source/Python/AutoGen/GenC.py
+++ b/Source/Python/AutoGen/GenC.py
@@ -1382,76 +1382,73 @@ def CreateModuleUnloadImageCode(Info, AutoGenC, 
AutoGenH):
 #   @param      Info        The ModuleAutoGen object
 #   @param      AutoGenC    The TemplateString object for C code
 #   @param      AutoGenH    The TemplateString object for header file
 #
 def CreateGuidDefinitionCode(Info, AutoGenC, AutoGenH):
-    if Info.IsLibrary:
-        return
-
     if Info.ModuleType in ["USER_DEFINED", "BASE"]:
         GuidType = "GUID"
     else:
         GuidType = "EFI_GUID"
 
     if Info.GuidList:
-        AutoGenC.Append("\n// Guids\n")
+        if not Info.IsLibrary:
+            AutoGenC.Append("\n// Guids\n")
         AutoGenH.Append("\n// Guids\n")
     #
     # GUIDs
     #
     for Key in Info.GuidList:
-        AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = %s;\n' % 
(GuidType, Key, Info.GuidList[Key]))
+        if not Info.IsLibrary:
+            AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = 
+ %s;\n' % (GuidType, Key, Info.GuidList[Key]))
         AutoGenH.Append('extern %s %s;\n' % (GuidType, Key))
 
 ## Create code for protocol
 #
 #   @param      Info        The ModuleAutoGen object
 #   @param      AutoGenC    The TemplateString object for C code
 #   @param      AutoGenH    The TemplateString object for header file
 #
 def CreateProtocolDefinitionCode(Info, AutoGenC, AutoGenH):
-    if Info.IsLibrary:
-        return
-
     if Info.ModuleType in ["USER_DEFINED", "BASE"]:
         GuidType = "GUID"
     else:
         GuidType = "EFI_GUID"
 
     if Info.ProtocolList:
-        AutoGenC.Append("\n// Protocols\n")
+        if not Info.IsLibrary:
+            AutoGenC.Append("\n// Protocols\n")
         AutoGenH.Append("\n// Protocols\n")
     #
     # Protocol GUIDs
     #
     for Key in Info.ProtocolList:
-        AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = %s;\n' % 
(GuidType, Key, Info.ProtocolList[Key]))
+        if not Info.IsLibrary:
+            AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = 
+ %s;\n' % (GuidType, Key, Info.ProtocolList[Key]))
         AutoGenH.Append('extern %s %s;\n' % (GuidType, Key))
 
 ## Create code for PPI
 #
 #   @param      Info        The ModuleAutoGen object
 #   @param      AutoGenC    The TemplateString object for C code
 #   @param      AutoGenH    The TemplateString object for header file
 #
 def CreatePpiDefinitionCode(Info, AutoGenC, AutoGenH):
-    if Info.IsLibrary:
-        return
-
     if Info.ModuleType in ["USER_DEFINED", "BASE"]:
         GuidType = "GUID"
     else:
         GuidType = "EFI_GUID"
 
     if Info.PpiList:
-        AutoGenC.Append("\n// PPIs\n")
+        if not Info.IsLibrary:
+            AutoGenC.Append("\n// PPIs\n")
         AutoGenH.Append("\n// PPIs\n")
     #
     # PPI GUIDs
     #
     for Key in Info.PpiList:
-        AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = %s;\n' % 
(GuidType, Key, Info.PpiList[Key]))
+        if not Info.IsLibrary:
+            AutoGenC.Append('GLOBAL_REMOVE_IF_UNREFERENCED %s %s = 
+ %s;\n' % (GuidType, Key, Info.PpiList[Key]))
         AutoGenH.Append('extern %s %s;\n' % (GuidType, Key))
 
 ## Create code for PCD
 #
 #   @param      Info        The ModuleAutoGen object
--
2.6.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to