Revision: 18661
          http://sourceforge.net/p/edk2/code/18661
Author:   yzhu52
Date:     2015-10-26 03:26:55 +0000 (Mon, 26 Oct 2015)
Log Message:
-----------
BaseTools:added extern protocol/PPI/GUID definition in AutoGen for Library

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

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

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

Modified: trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py  2015-10-26 02:00:58 UTC 
(rev 18660)
+++ trunk/edk2/BaseTools/Source/Python/AutoGen/GenC.py  2015-10-26 03:26:55 UTC 
(rev 18661)
@@ -1384,22 +1384,21 @@
 #   @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
@@ -1409,22 +1408,21 @@
 #   @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
@@ -1434,22 +1432,21 @@
 #   @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


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to